对这段代码还不理解,求介绍解释

来源:5-1 按钮切换

小白菜v

2017-07-09 21:32

	//点击圆点切换图片
	for(var i = 0; i < btn.length; i++){
		btn[i].onclick = function(){
			//获取当前点击的index值
			var myIndex = parseInt(this.getAttribute('index'));
			var offset = -600 * (myIndex - index);
			animate(offset);
			index = myIndex;
			showButton();
		}
	}
	

在计算点击圆点的偏移量这里,很不了解是怎么计算的。

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

//这一段是或缺点击的圆点当前index的值

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

//这一段就不懂了,一开始定义了 index=1,如果我点击第二个圆点,那么myIndex=2,算出来就是  offset = -600 * (2-1)  ,,   offset = -600;;这样的话,不就是跳到第一张图,但是运行了就没问题,是我哪里理解错了,求大神帮忙解释一下。。

写回答 关注

3回答

  • 望逍遥
    2017-07-10 22:30:26
    已采纳

    offset是传到animate里面的参数,不是最终left的值。将现在offset=-600传到animate之后,animate这个函数还要在加-600,最终变成-1200,也就是第二张图

    小白菜v

    非常感谢!

    2017-08-17 15:04:23

    共 2 条回复 >

  • qq_我不吃西红柿_03404837
    2017-08-12 11:53:52
    var myIndex = parseInt(this.getAttribute('index'));

    这里的index和上面的var index=1;不是同一个index;

    this.getAttribute('index')是取到当前节点的index这个自定义属性的值

    小白菜v

    这里懂了,谢谢,。。加油加油学习

    2017-08-17 14:59:58

    共 1 条回复 >

  • 望逍遥
    2017-07-10 22:38:09

    结合animate函数看一下,还有你在animate(offset)这个代码处加个断点,调试。看看最终的left是怎么变的。调试一遍应该就会了

    小白菜v

    好的,谢谢

    2017-07-10 22:38:45

    共 1 条回复 >

焦点图轮播特效

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

65235 学习 · 611 问题

查看课程

相似问题