你这个糟老头子
2019-09-18 16:31
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();
}
原因在这里
var myIndex = parseInt(this.getAttribute('index'));
var offset = -600 * (myIndex - index);
animate(offset);
假如offset =0,可以推出myIndex =index;
当myIndex =index时,其实就是当前显示高亮的小圆点和你点击的小圆点是同一个小圆点。
既然这样;那么在function animate(offset)函数中,就可以加个判断,当offset =0时,什么也不做,
也就是退出该函数。
不移动后面的代码就必要执行了
焦点图轮播特效
65279 学习 · 611 问题
相似问题