jCarousel v.0.3.0 - 如何在列出第一项列表时隐藏prev?

时间:2013-11-20 16:35:48

标签: javascript jquery jcarousel

我正在尝试使用jCarousel但是当旋转木马到达列表的第一项时我需要删除prev控件。

我试过(查看小提琴),但只有当我在prev control上再点击一次时才会发生。

这是小提琴:

Preview

1 个答案:

答案 0 :(得分:2)

这是因为运行滑动动画需要100毫秒,并且当CSS top属性为-60 px时,if语句正在开始运行。

如果设置超时调用,它将正常工作:

$('a.glist-prev').click(function () {
    setTimeout(function(){
        if (parseInt($('ul.ganhadores-list').css('top')) === 0) {
            $('a.glist-prev').addClass('disabled');
        }        
    },200);
});

http://jsfiddle.net/wDu6Z/

更新:我的回答与您的代码无效的原因有关。这不是一个实现。您可以在official website上找到一个正确的示例。

(function($) {
    $(function() {
        $('.jcarousel').jcarousel();

        $('.jcarousel-control-prev')
            .on('jcarouselcontrol:active', function() {
                $(this).removeClass('inactive');
            })
            .on('jcarouselcontrol:inactive', function() {
                $(this).addClass('inactive');
            })
            .jcarouselControl({
                target: '-=1'
            });

        $('.jcarousel-control-next')
            .on('jcarouselcontrol:active', function() {
                $(this).removeClass('inactive');
            })
            .on('jcarouselcontrol:inactive', function() {
                $(this).addClass('inactive');
            })
            .jcarouselControl({
                target: '+=1'
            });
    });
})(jQuery);