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

Javascript 引用计时器JS的非全局变量,javascript,Javascript,我有这个功能 function changeFrame(){ var time = setInterval(start, 250); } 我想阻止它在另一个函数中启动,但还没有弄清楚如何执行。你是说这个吗 function changeFrame(){ var time = setInterval(function() { // Do stuff }, 250); } 我想是在评论里 好的,你想怎么做就怎么做。我给time设置了一个全局变量。在stop

我有这个功能

function changeFrame(){
    var time = setInterval(start, 250);
}
我想阻止它在另一个函数中启动,但还没有弄清楚如何执行。

你是说这个吗

function changeFrame(){
    var time = setInterval(function() {
        // Do stuff
    }, 250);
}
我想是在评论里


好的,你想怎么做就怎么做。我给time设置了一个全局变量。在stop中使用全局变量调用clearInterval

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

阻止它在另一个函数中触发是什么意思?使changeFrame返回间隔标识符。不要将其存储在函数局部变量time中。抱歉,我是JS新手,我正在尝试在另一个函数中调用clearInterval以获取我的setInterval的id。请尝试返回该间隔。函数changeFrame{return setIntervalstart,250},并像var timer=changeFrame一样使用它;间隔定时器;或者将其传递给函数,例如函数stopFrameChangetimer{clearIntervaltimer;}stopFrameChangeFrame@AdrianCooney啊,好的,这回答了我的问题,我不确定如何在JS中使用return,如果可以的话,我会把它作为一个解决方案检查:。我有一个按钮,可以启动一些东西,然后我有一个停止按钮,可以阻止它继续,但我不知道如何在我的代码中使用这个词。建议使用小提琴来解决这个问题。我以前从未使用过这个网站,但我认为这应该是可行的。实际上我自己也输入过这个代码,也许。。。我不知道我在寻找的答案。我想让start方法停止它所做的事情,所以可以使用setTimeout。这只在指定的时间段后执行代码一次。setInterval重复,直到清除为止。