Javascript setInterval clearInterval简单示例不工作解释?

use*_*328 2 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
 }
Run Code Online (Sandbox Code Playgroud)

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

这不起作用,我试图找出原因.我可以使Stackoverflow上提供的所有其他数百个示例都可以工作,但我真的需要一个开/关样式的进程,不仅限于on,然后off.setInterval应该能够随时打开和关闭.

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

Roy*_*loh 8

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

function turnON() //executed by onclick event A
{
    automessage = setInterval(function(){ something() }, 2000);
}
Run Code Online (Sandbox Code Playgroud)