问答详情
源自:6-1 同时运动

求move.js的源码

求move.js的源码

求move.js的源码

提问者:慕九州0389596 2016-08-03 09:52

个回答

  • 慕粉18813290620
    2016-08-03 12:44:19
    已采纳

    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 speed=(json[attr]-icur)/8;

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

    //3、检测停止

    if(icur!=json[attr]){

    flag=false;

    }

    if(attr=='opacity')

    {

    obj.style.filter='alpha(opacity:'+attr+')';//针对iE

    obj.style.opacity=(icur+speed)/100;

    }else{

       obj.style[attr]=icur+speed+'px';

    }

    }

     if(flag)

     {

    clearInterval(obj.timer);

       if(fn)

    {

    fn();

    }  

      }

     

    },30)

       

    };

    //获取样式

    function getStyle(obj,attr){

    //IE

    if(obj.currentStyle){

    obj.currentStyle[attr];

    }else{ //FF

    return getComputedStyle(obj,false)[attr];

    }

    }