ユーザーのクリックが速すぎる場合に、この機能が2回発生しないようにするにはどうすればよいですか?
$(document).ready(function() {
$(".jTscroller a").click(function(event) {
event.preventDefault();
var target = $(this).attr("href");
$("#photo").fadeTo("fast", 0, function() {
$("#photo").attr("src",target);
$("#photo").load(function() {
$("#photo").fadeTo("fast", 1);
});
});
});
});
私が抱えている問題は、ユーザーがクリックする速度が速すぎると、要素がフェードインしない場合、非表示のままになることです。
問題は私が思っていたものではありませんでした。同じサムネイルをクリックすると、同じ画像を読み込んで永久に貼り付けようとします。.stop()
答えはダブルアニメーションを修正するので、私はその答えを受け入れますが、私の解決策は、最後にクリックされたアイテムが現在表示されているアイテムであるかどうかを確認することでした。新しいスクリプト:
$(document).ready(function() {
$(".jTscroller a").click(function(event) {
event.preventDefault();
var last = $("#photo").attr("src");
var target = $(this).attr("href");
if (last != target) {
$("#photo").stop().fadeTo("fast", 0, function() {
$("#photo").attr("src",target);
$("#photo").load(function() {
$("#photo").fadeTo("fast", 1);
});
});
};
});
});