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