我一直在尝试使用jQuery的<div>
在这个特定页面元素的两侧创建一个由两个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轴滚动,因此实际上可以使用向后功能。
我真的被这里的想法所困扰,任何帮助都会在这里得到最多的赞赏。
答案 0 :(得分:0)
您的代码中有拼写错误。
如果您检查控制台日志,很容易发现:
未捕获的ReferenceError:未定义位置
更正后的代码(假设我
)$("#next").click(function() {
if (position < 300){
position = position + 100;
$("#wrap").animate({
scrollLeft: ( position )
});
} else {
loopBack();
}
});