2012-12-11 37 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/