previous.click(function(){
if ((parseInt($('.slider-box').css('margin-left'))) < 0) {
$('.slider-box').animate({'margin-left':'+='+rubrikWidth});
}
});
Этот код выполняет слайдер для перемещения вправо, если кнопка нажата, а левая сторона поля - <0. Но когда вы нажимаете быстро и часто, if-предложение рассчитывает на замедление, а затем можно перемещать ползунок вдаль, Я хочу, чтобы кнопка была нажата слишком быстро. есть способ сделать: click → execute event → и после этого выполнения вы можете нажать еще раз.
Вы можете просто использовать animate
обратный вызов. Это должно сделать это, если .slider-box
только одному элементу:
previous.click(function(){
var slider = $('.slider-box');
if (!slider.data('busy') && (parseInt(slider.css('margin-left'))) < 0) {
slider.data('busy', true).animate({'margin-left':'+='+rubrikWidth}, function() {
slider.data('busy', false);
});
}
});
вы можете проверить, работает ли анимация, проверяя:
$('.slider-box').queue('fx').length
и используйте preventDefault
если длина очереди больше нуля