Я использую карусель jQuery для отображения 5 элементов списка за один раз, при нажатии левой или правой клавиши код переместит список соответствующей ширины для отображения нового элемента. Проблема заключается в том, что пользователь несколько раз нажимает левую или правую кнопку несколько раз быстрее, чем функция будет двигаться в уродливом вопросе.Javascript Carousel - Ошибка добавления очереди
остановка(). Анимировать не будет работать, потому что он останавливает анимацию не расчет
Мне нужно essientially очереди функции каждый раз, когда пользователь вызывает его или отключить механизм вызова в то время как функция все еще работает? Любая идея о том, как выполнить эту
JQuery
$(document).ready(function() {
$('.brand-carousel-inner li:first').before($('.brand-carousel-inner li:last'));
});
function brandSlide(direction) {
//Create width variables
var brand_item_total_width = 196;
//Create movement variable by adjusting the LEFT position +/-
if (direction == 'left') {
var movement = parseInt($('.brand-carousel-inner').css('left')) + brand_item_total_width;
} else {
var movement = parseInt($('.brand-carousel-inner').css('left')) - brand_item_total_width;
}
//Apply movement variable, animate carousel and reposition UL
$('.brand-carousel-inner').animate({
'left': movement
}, 700).promise().done(function() {
if (direction == 'left') {
$('.brand-carousel-inner li:first').before($('.brand-carousel-inner li:last'));
} else {
$('.brand-carousel-inner li:last').after($('.brand-carousel-inner li:first'));
}
$('.brand-carousel-inner').css({
'left': '-196px'
});
});
}
HTML
<section id="brand-carousel">
<a href="#" onclick="brandSlide('left'); return false" class="nav-left"></a>
<a href="#" onclick="brandSlide('right'); return false" class="nav-right"></a>
<div class="brand-mask">
<ul class="brand-carousel-inner">
<li><img src="image/image.jpg" /></li>
/*20 more list items*/
</ul>
</div>
</section>
он действительно помогает, однако проблема, которую я сейчас вижу, заключается в том, что li не слишком быстро перемещается в dom. при нажатии нескольких раз анимация движется 196, а затем перемещается очень маленькими суммами, после чего остановка анимации не работает. Определенное улучшение, хотя – user934902
Можете ли вы поместить его в скрипку? – Vishal