如何停止setInterval?

10 start stop $('#start').click(function(){ var c = $('#ccc').text(); var inter = setInterval(function() { c--; $('#ccc').text(c); }, 1000); }); $('#stop').click(function(){ clearInterval(inter); }); 

如何重写这个以正确使用STOP?

现场: http : //jsfiddle.net/c3hZh/

inter需要在两个function范围内。 使用闭包来包装这两个函数,以便您可以避免使用新变量污染全局命名空间。

 (function ($) { var inter; $('#start').click(function(){ var c; c = parseInt($('#ccc').text()); //make sure you're getting a numeric value //don't forget to clear any existing interval before setting a new one: if (inter) { clearInterval(inter); } inter = setInterval(function() { c--; $('#ccc').text(c); }, 1000); }); $('#stop').click(function() { clearInterval(inter); }); }(jQuery)); 

inter是一个局部变量。
它在回调之外不存在。

您需要使用全局变量。

 var inter = 0;
 $( '#开始')。点击(函数(){
     var c = $('#ccc')。text();
          inter = setInterval(function(){
                     C - ;
                     $( '#CCC')文本(C)。
             },1000);
 }); 

 $( '#停止')。点击(函数(){
      clearInterval(帧间);
     });