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);
});