为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要在animate()函数中加if(offset==0)这个判断条件呢?

function animate(offset){

    animated = true;

    if(offset == 0){

    return;

    }

   

    var left = parseInt(list.style.left) + offset;

    var time = 300;  //位移总时间

    var interval = 10;  //位移间隔时间

    var speed = offset/(time/interval);  //每次位移量


    function go(){

    if((speed < 0 && parseInt(list.style.left) > left) || (speed > 0 && parseInt(list.style.left) < left)){

    list.style.left = parseInt(list.style.left) + speed + 'px';

    setTimeout(go,interval);

    }else{

    list.style.left = left + 'px';


    if(left > -600){


    list.style.left = -3000 + 'px';

    }


    if(left < -3000){


    list.style.left = -600 + 'px';

    }

    animated = false;

    }

    }

    go();

    }


正在回答

2 回答

原因在这里

  var myIndex = parseInt(this.getAttribute('index'));

                    var offset = -600 * (myIndex - index);

                    animate(offset);

假如offset =0,可以推出myIndex =index;

当myIndex =index时,其实就是当前显示高亮的小圆点和你点击的小圆点是同一个小圆点。

既然这样;那么在function animate(offset)函数中,就可以加个判断,当offset =0时,什么也不做,

也就是退出该函数。


0 回复 有任何疑惑可以回复我~

不移动后面的代码就必要执行了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
焦点图轮播特效
  • 参与学习       65345    人
  • 解答问题       638    个

通过本教程学习您将能掌握非常实用的焦点图轮播特效的制作过程

进入课程

为什么要在animate()函数中加if(offset==0)这个判断条件呢?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号