for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = function () {
if (animated) {
return;
}
if(this.className == 'on') {
return;
}
var myIndex = parseInt(this.getAttribute('index'));
var offset = -600 * (myIndex - index);
animate(offset);
index = myIndex;
showButton();
}
}
如图 如果我要点击到第五张图那么第五张图的index是5,如果我是从第一张图切换到第五张图的话,第一张图的index值是1
-600*(5-1)=-2400 那就是第四张图的位置
除非第一张图的index值是0这样结果才是第五张图的位置
我是哪里没有理解到?
最前面的那个index是用在buttons[index - 1].className = 'on'; 这个语句里面,这里的index是自定义的变量,为了将圆点带上"on"这个class名字;后面的myIndex是为了获取当前的index的数值,而再次定义的一个变量
自问自答,animate()里面的newLeft = 跳转之前的left值+offset 这里的offst=-2400 所以加上第一张图的left值-600 就等于第五张图的left值 因为也点用了函数animate(offset);感觉好绕啊 这算不算JS里最难的?