當用戶點擊速度過快時,如何阻止此功能發生兩次?在jQuery中預防雙重動畫
$(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);
});
});
};
});
});