为什么jquery中的.first()定位第二个元素?

时间:2013-09-13 20:49:08

标签: jquery css slider

我正在写一个基本的旋转木马/滑块,应该无限滚动。基本上我试图将容器移到滑块的宽度上,将第一张滑动移动到最后,然后将容器移回。

由于某种原因.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”在示例中不活跃。

1 个答案:

答案 0 :(得分:3)

firstSlide.after(lastSlide);

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

firstSlide.insertAfter(lastSlide);

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