2012-12-11 34 views
0

我有以下代碼用於撥動div。clearInterval不按預期方式工作

我使用clearInterval來停止咯咯聲,但它似乎不起作用。

任何想法爲什麼請嗎?

squares = $('.' + square_class); 
var rattle; 

rattle = setInterval(function() { 
squares.delay(2000).effect('shake', { times:4, distance: 5 }, 100); 
}, 2000); 

clearInterval(rattle); 
+1

「看起來不起作用」的意思是什麼?在您的代碼示例中,不會發生任何事情,因爲setInterval在第一次執行之前被清除。 – Sirko

+1

您是否在setInterval後關閉了括號? –

+0

對不起,通過不起作用,我的意思是說div後繼續撥浪鼓clearinterterval(撥浪鼓)被稱爲 – rix

回答

1

這就是我如何看待這個設置。如果不是,請告訴我們

<script> 
var rattle; 

window.onload=function() { 

    rattle = setInterval(
    function() { 
     squares.delay(2000).effect('shake', { times:4, distance: 5 }, 100); 
    }, 
    2000); 

    setTimeout(function() { clearInterval(rattle); },10000); 
} 
</script> 
1

有一些錯誤在你code..you應該修復它是這樣的:

var rattle = setInterval(function(){ 
    squares.delay(2000).effect('shake', { times:4, distance: 5 }, 100); 
}, 1500); 

然後

clearInterval(rattle); 
0

如果你想實際的動畫效果不經過它的全部使用就停下來jQuery stop()方法

clearInterval(rattle); 
squares.stop(); 

API參考號:http://api.jquery.com/stop/