我正在尝试使用jCarousel但是当旋转木马到达列表的第一项时我需要删除prev控件。
我试过(查看小提琴),但只有当我在prev control上再点击一次时才会发生。
这是小提琴:
答案 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);
});
更新:我的回答与您的代码无效的原因有关。这不是一个实现。您可以在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);