您的位置:首页 > Web前端 > JavaScript

JS运动框架

2012-09-29 10:54 295 查看
function startMove(obj, json, fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var bStop = true;
for(var attr in json){
var iCur = 0;
if(attr == "opacity"){
iCur =  Math.round(parseFloat(getStyle(obj, attr)*100));
}else{
iCur = parseInt(getStyle(obj, attr)) || 0;
};
var iSpeed = (json[attr]-iCur)/8;
iSpeed = iSpeed>0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);

if(iCur != json[attr]){
bStop = false;
}
if(attr == "opacity"){
obj.style.filter = "alpha(opacity:"+(iCur+iSpeed)+")";
obj.style.opacity = (iCur+iSpeed)/100;
}else{
obj.style[attr] = iCur+iSpeed+"px";
}
}
if(bStop){
clearInterval(obj.timer);
if(fn){
fn()
};
}

}, 30);
};

function getStyle(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj, false)[attr];
}
};

function getElementsByClassName(node, classname){
if(node.getElementsByClassName){
return node.getElementsByClassName(classname);
}else{
var results = [];
var elems = node.getElementsByTagName("*");
for(var i=0; i<elems.length; i++){
if(elems[i].className.indexOf(classname) != -1){
results[results.length] = elems[i];
}
}
return results;
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: