完美框架代码没有效果,谁能看看哪里错了

来源:6-2 完美运动框架

慕粉3218393

2016-12-27 11:54

5861e59c0001e08605000434.jpg

5861e5a50001588205000218.jpg

代码哪里错了。


写回答 关注

2回答

  • 慕码人1183263
    2017-01-18 10:07:47

    function startMove(obj,json,fn){
                   clearInterval(obj.timer);
                   obj.timer=setInterval(function(){
                       var flag=true;   //标志所有运动是否到达目标值
                       for(var attr in json){
                           var curr=0; //获取当前的值,设置为0下面进行赋值
                           //判断是否为透明度
                           if(attr=='opacity'){
                               curr=Math.round(parseFloat(getStyle(obj,attr))*100); //对透明度处理
                           }else{
                               curr=parseInt(getStyle(obj,attr)); //对普通的宽高处理
                           }
                           //移动速度处理
                           var speed=0;
                           speed=(json[attr]-curr)/8; //json[attr]为属性值即目标值
                           speed=speed>0?Math.ceil(speed):Math.floor(speed); //取整数,将速度取整从而达到目标值
    //检测停止
                           if(curr!= json[attr]){
                               flag=false;//检测为false则继续下面的操作
                           }
                           if (attr=='opacity') {
                               obj.style.filter='alpha(opacity:'+(curr+speed)+")";//IE浏览器
                               obj.style.opacity=(curr+speed)/100;//firefox浏览器
                           }else{
                               obj.style[attr]=curr+speed+'px';
                           }
                       }
                       if(flag){ //检测为true则继续下面的操作
                           clearInterval(obj.timer);
                           if(fn){  //检测是否有回调函数,有就执行
                               fn();
                           }
                       }
                   },30);
               }

  • izore
    2016-12-27 21:27:38

    for( var attr in json){}要放在定时器里面

JS动画效果

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

113923 学习 · 1443 问题

查看课程

相似问题