javascript – jQuery Carousel.如何仅显示下一个或上一个元素

前端之家收集整理的这篇文章主要介绍了javascript – jQuery Carousel.如何仅显示下一个或上一个元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jQuery问题,我真的尝试了我所知道的一切(我是新手)所以..

简而言之,我正在做一个简单的旋转木马效果.我正在使用此代码.

(div .showarea是需要旋转的DIV(下一个/上一个),但我想一次只显示一个div.)

这是html标记.

<div class="maincarousel">
       <div class="showarea"><a href="#"><img src="img/sampleshow.png" alt="" title="" /></a></div>
       <div class="showarea"><a href="#"><img src="img/sampleshow2.png" alt="" title="" /></a></div>
       <div class="showarea"><a href="#"><img src="img/sampleshow3.png" alt="" title="" /></a></div>
       <a href="#carouselPrev" class="leftarrow" title="PrevIoUs"></a>
       <a href="#carouselNext" class="rightarrow" title="Next"></a>
    </div>

这是我的jquery尝试

$('.showarea').hide();
$('.showarea:first').fadeIn(500);

$('.maincarousel a').click(function () {

    if ($(this).attr('href') == '#carouselNext') {
        $('.showarea').hide();
        $('.showarea').next('.showarea').fadeIn(500);
    }

    if ($(this).attr('href') == '#carouselPrev') {
        $('.showarea').hide();
        $('.showarea').prev('.showarea').fadeIn(500);
    }

});

不幸的是,next()和prev()不会仅显示下一个元素,而是显示prev()的所有下一个元素和相同的元素.任何快速解决方法..

有人可以帮我这个,

谢谢

解决方法

下面将旋转所以,如果你在第一个项目按下将显示最后一项…

演示here

$('div.showarea').fadeOut(0);
$('div.showarea:first').fadeIn(500);

$('a.leftarrow,a.rightarrow').click( function (ev) {
    //prevent browser jumping to top
    ev.preventDefault();

    //get current visible item
    var $visibleItem = $('div.showarea:visible');

    //get total item count
    var total =  $('div.showarea').length;

    //get index of current visible item
    var index = $visibleItem.prevAll().length;

    //if we click next increment current index,else decrease index
    $(this).attr('href') === '#carouselNext' ? index++ : index--;

    //if we are now past the beginning or end show the last or first item
    if (index === -1){
       index = total-1;
    }
    if (index === total){
       index = 0
    }

    //hide current show item
    $visibleItem.hide();

    //fade in the relevant item
    $('div.showarea:eq(' + index + ')').fadeIn(500);

});

猜你在找的jQuery相关文章