Javascript 如何";“杀死”;或取消设置超时功能

Javascript 如何";“杀死”;或取消设置超时功能,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我如何“杀死”这个setTimout函数而不破坏我的代码? 我试着用clear,但没用 由于某种原因,当我在任何地方删除它时,它都会破坏我的代码(如果我在任何地方删除这个函数也是如此)。 当我在超时执行之前在顶部说“return”时,jQuery显示出来,但我的代码不起作用 还要提到我在Mozilla中加载的jQuery文件。它也会在我的本地机器上以Chrome和Safari加载,但不会在服务器上实时加载(我也使用Wordpress)Safari/Chrome 函数的设置超时 function

我如何“杀死”这个setTimout函数而不破坏我的代码? 我试着用clear,但没用

由于某种原因,当我在任何地方删除它时,它都会破坏我的代码(如果我在任何地方删除这个函数也是如此)。 当我在超时执行之前在顶部说“return”时,jQuery显示出来,但我的代码不起作用

还要提到我在Mozilla中加载的jQuery文件。它也会在我的本地机器上以Chrome和Safari加载,但不会在服务器上实时加载(我也使用Wordpress)Safari/Chrome

函数的设置超时

function queueRender() {
    var _this = this;

    settings.queueRenderTimeout = setTimeout(function(){
        render();
    }, settings.debounce);
    if(typeof settings.queueRenderTimeout !== "undefined") {
        clearTimeout(settings.queueRenderTimeout)
    }
    render();
}
这里是渲染函数

function render() {
    element.find(">").remove();
    var t = templates.quiz(quiz);
    element.append(t);

    $(settings.append).append(element);

}
--所以在本例中,我的jQuery被加载,但我的测验中断了。 如果我更改顺序并将if语句放在第一位,那么我的代码不会中断

以下是我的设置:

    var defaults = {
        append: "body",
        quiz_template: "#quiz_template",
        question_template: "#question_template",
        answer_template: "#answer_template",
        result_template: "#result_template",
        shuffle: true
//      debounce: 10
    }

代码是有时不起作用的东西。它可以在我的本地机器上工作,但不能在服务器上工作。我感觉设置超时仍有一些延迟,即使我将其保留为“未定义”。

在设置超时之前,您正在清除超时@不幸的是,13尝试将它们交换起来,但没有成功(我不确定您试图在这里实现什么,但是,是的,在设置超时后,
typeof settings.queueRenderTimeout!==“undefined”
总是正确的,因为
settings.queueRenderTimeout
现在是一个超时id。@unlucky13啊,是的!我忘记放置render()最后一个。非常感谢!我真的很感激。不客气!请注意,我认为您的代码中有一些不合理的地方:您设置了一个超时,但没有具体原因就立即清除了它?您是在设置超时之前清除了它!@unlucky13尝试了将它们交换起来——没有效果(我不确定您试图在这里实现什么,但是,是的,在设置超时后,
typeof settings.queueRenderTimeout!==“undefined”
总是正确的,因为
settings.queueRenderTimeout
现在是一个超时id。@unlucky13啊,是的!我忘记放置render()最后一个。非常感谢!我真的很感激。不客气!请注意,我认为您的代码中有一些不合理的地方:您设置了一个超时,并且没有具体原因就立即清除了它?