これが動作デモです。 http://jsfiddle.net/Evqqp/1/
問題を簡単に理解するために、デモを確認してください。矢印をすばやくクリックすると、ビューがめちゃくちゃになることがわかります。
私が行っている300ミリ秒のアニメーションが原因である可能性があることを理解しています。ビューを台無しにしないようにクリックを処理するクリーンな方法は何ですか。フラグを使用して、前のクリック アクションが完了したかどうかを確認できます。しかし、これを行うためのより良い方法がある場合は、意見を求めたかった.
アニメートするコード
$(".rightArrow").on("click", function () {
if ((Math.abs(parseInt($(".slideBox").css("margin-left"))) + $(".mainDiv").width()) < $(".slideBox").width()) {
$(".slideBox").animate({
"margin-left": parseInt($(".slideBox").css("margin-left")) - $(".mainDiv").width()
}, 300, checkRightArrow);
$(".leftArrow").show();
} else {
$(".rightArrow").hide();
}
});
ありがとうございました