我有这段用 jQuery 1.2.5 编写的 javascript。它包含在我编写的插件的 main function() 中。该插件是一个与 jCarousel 非常相似的水平画廊滚动器。它会自动计算宽度,并根据它和图像的大小确定要滚动的数量,这是所有计算正在进行的内容。
我的问题是,如何防止在之前的执行完成之前触发它。例如,如果我得到一点点快乐,然后疯狂地捣碎.digi_next
. 当这种情况发生时,UI 中的事情不会那么顺利,我想修复它 :) 我认为答案可能在于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);
});