我正在写一个应该无限滚动的基本轮播/滑块。基本上,我试图将容器移到幻灯片的整个宽度上,将第一个幻灯片移到末尾,然后再将容器移回去。

由于某种原因.first()移动第二个元素而不是第一个:

$('.half-slider .next').click(function(){
    var slideW = $(this).parent().parent().find('.slide').first().outerWidth();
    $(this).parent().parent().find('.slides').animate({'margin-left': -slideW},function(){
        var firstSlide = $(this).find('.slide').first();
        var lastSlide = $(this).find('.slide').last();
        firstSlide.after(lastSlide);
    });
});


我创建了一个jsfiddle:http://jsfiddle.net/BLAaF/2/

*只需在小提琴中选择“下一个”。在该示例中,“ prev”未处于活动状态。

最佳答案

firstSlide.after(lastSlide);


这会将lastSlide放在firstSlide之后。基于您“将第一张幻灯片放到最后”的说法,我认为您的意思是:

firstSlide.insertAfter(lastSlide);


将第一张幻灯片放在最后一张幻灯片之后。

10-06 07:35