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

为什么要在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
提交
取消
焦点图轮播特效
  • 参与学习       65209    人
  • 解答问题       611    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信