我一直试图使用jQuery的scrollLeft
创建一个小滑动部件,该部件由此特定页面元素两侧的两个<div>
元素操作。尽管有些人会称之为非常糟糕的做法,并且可能带有一些令人难以置信的原始代码,但最初的一切似乎都按预期工作。 试图使元素更容易使用我决定包含一个if语句,以便使图像循环回到第一个,如果按钮被点击的次数多于存在的图像的次数。ScrollLeft不与“if”语句结合使用
本质的代码工作如下(其中每个图像是100个像素宽)
$("#next").click(function() {
position = position + 100;
$("#wrap").animate({
scrollLeft: (position)
});
});
但停止时变为
$("#next").click(function() {
if (positon < 300){
position = position + 100;
$("#wrap").animate({
scrollLeft: (position)
});
} else {
loopBack();
}
});
其中loopBack
是设定position
为0的函数的工作并按照初始(工作)功能进行。 JSHint报告没有代码语法本身的问题,我已将值检查更改为position != 300
,以查看它做了什么差异(没有,因为它实际上)。
的JSFidde可以在这里找到:http://jsfiddle.net/ActualRealJamz/8WcUb/7/ 落后的功能一直保持按原来如此,你可以看到它是如何开始工作,wrap
具有已启用x轴滚动,这样它实际上可以使用落后功能。
我对这里的想法非常坚持,任何帮助都会在这里得到最多的赞赏。
什么'position'包含在函数的开始?它是一个(吞噬!)全局变量? – lucke84
“Uncaught ReferenceError:** positon **未定义” – gvee
另外我认为你需要检查'200',而不是'300',因为只有3个块。否则会有额外的点击需要回滚到0 – Pointy