引用Timer JS的非全局变量

时间:2013-12-16 22:04:42

标签: javascript

我有这个功能。

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

我希望阻止它在另一个函数中触发,但是无法弄清楚如何去做。

2 个答案:

答案 0 :(得分:0)

你是说这个吗?

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

在评论中考虑它。

好的修改小提琴做你想要的。我把时间花在全球变种上。使用全局var http://jsfiddle.net/QNWF4/3/

在stop中调用clearInterval

答案 1 :(得分:0)

要调用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;
}