Javascript 如何使滑块继续循环?
我有一个从列表Javascript 如何使滑块继续循环?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个从列表ul构建的滑块,包含15个li 我将每个5元素显示为一个组。在和中,如果单击“下一步”或“上一步”按钮,它将缓慢移动到下一个五个元素,但在第三次单击后(当您第四次单击“上一步”时),它不会显示任何元素。 我知道这是正常的,因为我使用right:“+=855”移动元素,所以在三次移动之后,15个元素将结束 我希望此循环继续(在第四次单击时,我希望显示元素1-5中的元素) 此链接将显示我的意思: 为实现这一点,我可以在animate函数中添加一些内容吗?不,animate中没有可以实
ul
构建的滑块,包含15个li
我将每个5
元素显示为一个组。在和中,如果单击“下一步”或“上一步”按钮,它将缓慢移动到下一个五个元素,但在第三次单击后(当您第四次单击“上一步”时),它不会显示任何元素。
我知道这是正常的,因为我使用right:“+=855”
移动元素,所以在三次移动之后,15个元素将结束
我希望此循环继续(在第四次单击时,我希望显示元素1-5中的元素)
此链接将显示我的意思:
为实现这一点,我可以在
animate
函数中添加一些内容吗?不,animate中没有可以实现这一点的内容,但您始终可以使用.prepend()
或.append()
如下:
$("ul.slider").animate({
right: "+=855"
}, 1000, function(){
$("ul.slider").css('right', '0');
$('ul.slider li:not(:nth-child(n+6))').appendTo('ul.slider');
});
滚动后,只需将
移动到末尾即可:
$(".prev_button").click(function () {
$("ul.slider").animate({
right: "+=855"
}, 5000, function () {
$("ul.slider").append($("ul.slider li:lt(5)"))
.css("right", "-=855");
});
});
如果我理解正确,您希望滑块环绕第一个元素,就像一个环一样。从你链接到的小提琴来看,你的代码似乎不可能做到这一点。但是,如果您将代码改为显示特定幻灯片,您可以调整代码以在最后一张幻灯片之后显示第一张幻灯片,并使用
if
语句确保数字为零,而不是溢出。我要感谢您,它的效果非常好。但是我想请你给我解释一下n
如果你说的是n(n+6)
中的n
,那是第n个孩子的标准语法,n
代表什么?@BaselShbeb