有没有老师的move.js

来源:5-1 JS链式动画

没有昵称的我

2016-03-29 10:16

麻烦给一下

写回答 关注

1回答

  • rain_late
    2016-03-29 12:04:53

    function startMove(obj,json,fn){
       var flag = true;
       clearInterval(obj.timer);
       obj.timer = setInterval(function(){
           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));
               }
               //算速度;
               var speed = (json[attr] - iCur)/8;
               speed = speed>0?Math.ceil(speed):Math.floor(speed);//取整;
               //检测是否停止;
               if(iCur !== json[attr]) {
                   flag = false;
               }
               if (attr=="opacity"){
                   obj.style.filter = 'alpha(opacity:"+(iCur+speed)+")';
                   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){
       if (obj.currentStyle){
           return obj.currentStyle[attr];//针对IE浏览器;
       }else{
           return getComputedStyle(obj,false)[attr];//针对大多数浏览器;
       }
    }

    聪明的汤姆

    怎么你没有用for in 也可以

    2016-07-24 10:58:27

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113923 学习 · 1443 问题

查看课程

相似问题