引用计时器JS的非全局变量

Referencing Non-Global Variable for Timer JS

本文关键字:全局变量 JS 计时器 引用      更新时间:2023-09-26

我有这个函数。

function changeFrame(){
    var time = setInterval(start, 250);
}

我想阻止它在另一个函数中启动,但还没能想出怎么做。

你是这个意思吗?

function changeFrame(){
    var time = setInterval(function() {
        // Do stuff
    }, 250);
}

我想是在评论里。

好吧,把小提琴改成你想要的样子。我把时间设为全局变量。用全局变量调用clearIntervalhttp://jsfiddle.net/QNWF4/3/

为了调用clearInterval,您需要由setInterval返回句柄。这意味着某些内容要么是页面的全局内容,要么是脚本所在的包含函数的全局内容。

function Timer()
{ 
    var handle = null;
    this.start = function (fn,interval) {
        handle = setInterval(fn,interval);
    };
    this.stop = function ()
    {
        if (handle) { clearInterval(handle); handle = null; }
    };
    return this;
}