在setInterval运行javascript时停止它

在setInterval运行javascript时停止它,javascript,setinterval,Javascript,Setinterval,我需要能够在setInterval函数运行时停止它。 这个想法是,如果浏览器的大小被调整,那么它将显示计时器(320px或更少) 间隔时间如下: var blurb_scroll = setInterval(function(){ $(".content .blurb-container:first").next().css({'opacity':0}).delay(400).animate({'opacity':1}, 'fast'); $(".content

我需要能够在setInterval函数运行时停止它。 这个想法是,如果浏览器的大小被调整,那么它将显示计时器(320px或更少) 间隔时间如下:

var blurb_scroll = setInterval(function(){ 
        $(".content .blurb-container:first").next().css({'opacity':0}).delay(400).animate({'opacity':1}, 'fast');
        $(".content .blurb-container:first").animate({'margin-top':'-190px', 'opacity':'0'}, 'slow', function(){
            $(this).appendTo(blurb_container).removeAttr('style');
        });
    },6000);

您必须使用clearInterval。将setInterval中的变量设置为全局变量,然后可以在任何地方停止它

<html>
<body>

<input type="text" id="clock">
<script language=javascript>
var int=self.setInterval(function(){clock()},1000);
function clock() {
  var d=new Date();
  var t=d.toLocaleTimeString();
  document.getElementById("clock").value=t;
  }
</script>
</form>
<button onclick="int=window.clearInterval(int)">Stop</button>

</body>
</html>

var int=self.setInterval(函数(){clock()},1000);
功能时钟(){
var d=新日期();
变量t=d.toLocaleTimeString();
document.getElementById(“时钟”).value=t;
}
停止
你可以在这个例子中找到更多关于clearInterval的信息


希望有帮助

要停止间隔和动画,需要使用
clearInterval
(在间隔id上)和
.stop()
(在元素上)

例如:

clearInterval(blurb_scroll);
$(".content .blurb-container:first").stop();

根据jquery文档,应该使用clearInterval和jquery.stop()函数


正如jquery所述,通过将属性$.fx.off设置为true,可以全局停止动画。完成此操作后,所有动画方法将在调用时立即将元素设置为其最终状态,而不是显示效果。

与其清除setInterval,不如改用setTimeout:

(function runthis() {
  var f = $(".content .blurb-container:first")
  f.next()
   .css({'opacity':0})
   .delay(400)
   .animate({'opacity':1}, 'fast')
   .animate({'margin-top':'-190px', 'opacity':'0'}, 'slow', function(){
     $(this).appendTo(blurb_container).removeAttr('style');
   });
  if (conditional that says we should keep doing this) {
    setTimeout(runthis, 6000);
  }
}());
现在,您可以更好地控制发生的情况,如果代码有错误,至少不会永远运行错误代码。如果它因错误而死亡,则永远不会安排新的超时


设置间隔。这不是一个好主意。

clearInterval(blurb_scroll)
@fogsy:为什么不起作用?怎么搞的?你叫它什么?什么不起作用?我看不到有人试图使用clearInterval()。@fogsy这就是你想要的吗?停止间隔和动画?@Ian.Stop();停止动画并解决问题,再次感谢