У меня есть этот бит javascript, написанный с помощью jQuery 1.2.5. Он содержится внутри основной функции () плагина, который я написал. Плагин представляет собой горизонтальный скроллер галереи, очень похожий на jCarousel. Он выполняет автоматическое вычисление ширины и определяет, сколько прокручивать, основываясь на этом и размере изображений, что и происходит во всех вычислениях.
В чем мой вопрос, как я могу предотвратить запуск этого до завершения предыдущего выполнения. Например, если я получу маленький щелчок счастливым и просто отчаянно нажму на .digi_next
. Когда это происходит, в пользовательском интерфейсе дела идут не так хорошо, и я бы хотел это исправить :) Я думал, что ответ может быть в queue
, но все мои попытки его использования не принесли ничего стоящего.
var self = this;
$(".digi_next", this.container).click(function(){
var curLeft = $(".digi_container", self.container).css("left").split("px")[0];
var newLeft = (curLeft*1) - (self.containerPad + self.containerWidth) * self.show_photos;
if (newLeft < ((self.digi_gal_width - (self.containerPad + self.containerWidth) * self.show_photos)) * -1) {
newLeft = ((self.digi_gal_width - (self.containerPad + self.containerWidth) * self.show_photos)) * -1;
}
$(".digi_container", self.container).animate({
left: newLeft + "px"
}, self.rotateSpeed);
});