问答详情
源自:-

(不是问题)这是老师的运动框架源码:

//完美的运动框架:

function startMove(obj,json,fn)

{

var flag = true;

clearInterval(obj.timer);

obj.timer=setInterval(function(){

for(var attr in json){

//1.取当前值

var iCur = 0;

if(attr=='opacity')

{

iCur = Math.round(parseFloat(getStyle(obj,attr))*100);

}

else

{

iCur = parseInt(getStyle(obj,attr));

}

//2.算速度

var iSpeed=(json[attr]-iCur)/8;

iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

//3.检测停止

if(iCur!=json[attr])

{

flag = false;

}

if(attr=='opacity')

{

obj.style.filter='alpha(opacity:'+(iCur+iSpeed)+')';

obj.style.opacity=(iCur+iSpeed)/100;

}

else

{

obj.style[attr]=iCur+iSpeed+'px';

}

} <!--遍历json结束-->

if(flag){//所有条件都达到了

clearInterval(obj.timer);

if(fn){

fn();

}

}

},30);

}


//好神奇的方法:

function getStyle(obj,attr){

     if(obj.currentStyle){

     return obj.currentStyle[attr];

     }else{

     return getComputedStyle(obj,false)[attr];

     }

}


提问者:慕媛 2015-06-24 17:43

个回答

  • 慕媛
    2015-06-24 17:44:53

    自己整理的核心源码。。。