我有一個遞歸動畫來使屏幕上的文本改變顏色。我想要一些機制來停止這個動畫,當div放寬能見度時。在我的實際站點中,這是在一個對話框中。當對話框關閉時,我想停止所有的動畫。我嘗試使用$.stop()
,但我認爲這不會在遞歸調用期間中斷調用堆棧。在jQuery中停止遞歸動畫
下面是我在做什麼要點:
的javascript:
function rainbow() {
var hue = 'rgb(' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ',' + (Math.floor(Math.random() * 256)) + ')';
$('#rainbow ul li').animate({
color: hue
}, 500, rainbow);
}
$(function() {
rainbow();
$("#stop").click(function() {
$('#rainbow ul li').stop()
});
});
HTML
<div id="rainbow">
<ul>
<li>Apple</li>
<li>Microsoft</li>
<li>SUN</li>
</ul>
</div>
<button id="stop" type="reset">Stop</button>
單擊「停止」按鈕不會執行任何操作,動畫將繼續。
不只是發佈鏈接..提供代碼以及incase第三方網站宕機! – rlemon 2012-04-26 15:01:20