Javascript setInterval clearInterval 简单示例无法解释?

标签 javascript setinterval clearinterval

我有一个非常简单的 JS setInterval 和 clearInterval 示例不起作用。一定有它不起作用的根本原因,我想知道为什么会这样:

 var automessage;

 function turnON() //executed by onclick event A
 {
   var automessage = setInterval(function(){ something() }, 2000);
 }

 function turnOff() //executed by onclick event B
 {
   clearInterval(automessage);
 }

 function something()
 {
   //pulls instant messages
 }

在此示例中,最终用户单击一个按钮启动定时间隔过程,单击另一个按钮停止定时间隔过程,然后再次单击打开按钮再次启动该过程。从本质上讲,这将是一个开/关式的过程。

这行不通,我正在尝试找出原因。我可以使 Stackoverflow 上提供的所有其他数百个示例都能正常工作,但我确实需要一个开/关式流程,它不仅限于打开,然后关闭。 setInterval 应该可以随时打开和关闭。

我非常感谢任何人的帮助。此外,我不使用任何 Jquery 库。

最佳答案

automessage 声明了两次 - 作为全局变量和局部变量。尝试:

function turnON() //executed by onclick event A
{
    automessage = setInterval(function(){ something() }, 2000);
}

关于Javascript setInterval clearInterval 简单示例无法解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18957186/

相关文章:

javascript - redux-observable - 在单个史诗中调度多个 redux 操作

javascript - 控制clearInterval函数

javascript - Javascript 执行启动 chrome 而不是 webview

javascript - 尝试将 Ember 合并到 Express/Bower/Grunt/Node 项目中

java - 执行 php 文件从 SQL 数据库获取信息时如何上传数据用作过滤器?

javascript - 使用 Jquery 顺序运行两个 javascript 函数

javascript - 间隔不断变化?

javascript - 多个对象上的 SetInterval 计时器在初始化后取消

Javascript setInterval 函数清除自身?

javascript - 如何正确使用 setInterval 和 clearInterval 在两个不同的函数之间切换?