2012-05-16 65 views
0

我有一個關於jQuery的相對簡單的問題(請原諒我是一個noob)。我已經在div上使用了「fadeToggle」(點擊)功能來顯示另一個元素,但是如果用戶點擊了div說100次,我怎樣才能停止動畫播放一遍又一遍,每次點擊呢?如何防止jQuery「fadeToggle」一遍又一遍地循環?

+1

可能是你可以使用.stop(),如果你有什麼特別的情況下,請使用的jsfiddle .net – Dhiraj

+1

向我們顯示您的代碼和相關的HTML。如果我們看到您的代碼,我們只能提供具體的答案。 – jfriend00

回答

0

您需要設置某種在第一次迭代中激活的指標,然後在該函數的開頭檢查它。這可以是一個變量,也可以添加並檢查目標元素上的類名。

1

我見過,其中使用is running?類型的變量,這個問題的變化:

http://jsfiddle.net/VRDP9/

running = false; 

$("button:first").click(function() { 
    if (!running) { 
     running = true; 
     $("p:first").fadeToggle("slow", "linear", function() { running = false; }); 
    } 
});​ 
2

您也可以驗證隊列調用前空,

$("button").click(function() { 
    if (!$animatedElement.queue().length) { 
     $animatedElement.fadeToggle("slow", "linear"); 
    } 
});​ 

http://jsfiddle.net/EU5WK/

+0

是的,太棒了,這工作!謝謝! – WebGuy7767

相關問題