jCarousel v.0.3.0-如何在击中列表的第一项时隐藏prev

jCarousel v.0.3.0 - How to hide prev when hit the fist item of list?

本文关键字:一项 prev 隐藏 列表 jCarousel      更新时间:2023-09-26

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

我试过(查看fiddle),但只有当我在prev控件上再点击一次时才会发生。

这是小提琴:

预览

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

如果你设置了一个超时调用,它会正常工作:

$('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/

更新:我的答案与代码不起作用的原因有关。这不是一个实现。你可以在官方网站上找到一个合适的例子。

(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);