使用轮播循环“活动”类
我有一个带有九个幻灯片的旋转木马,其中第一个有一类“活跃”。
单击“右侧”按钮时,活动类需要移动到下一个li(它还需要在最后一个之后应用回第一个li)。
显然,当单击左键时,活动类需要向相反方向移动。
我尝试了下面这个,但是我不知道如何使活动类在最后一个之后回到第一个li。
$('.nav .right').click(function(){ $('.carousel .active').removeClass('active').next().addClass('active'); });
任何帮助,将不胜感激。 谢谢。
它肯定可以改进,但以下代码适用于您需要做的事情:
$('.nav .right').click(function(){ var next = $('.carousel .active').removeClass('active').next(); if (next.length == 0) { next = $('.carousel li').first(); } next.addClass('active'); });
$('.nav .right').click(function () { $('.carousel .active:not(:last-child)').removeClass('active').next().addClass('active'); }); $('.nav .left').click(function () { $('.carousel .active:not(:first-child)').removeClass('active').prev().addClass('active'); });
小提琴
尝试
var $carousel = $('.carousel'); $('.nav .right').click(function(){ var next = $carousel.children('.active').removeClass('active').next(); if(!next.length){ next = $carousel.children().first(); } next.addClass('active'); }); $('.nav .left').click(function(){ var prev = $carousel.children('.active').removeClass('active').prev(); if(!prev.length){ prev = $carousel.children().last(); } prev.addClass('active'); });
演示: 小提琴
另一种变化: 小提琴