Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该在哪里放置clearTimeOut?_Javascript_Jquery - Fatal编程技术网

Javascript 我应该在哪里放置clearTimeOut?

Javascript 我应该在哪里放置clearTimeOut?,javascript,jquery,Javascript,Jquery,尝试以下方法 var timeoutId = setTimeout(function() { if ("comboFilters[Agencies]" in partDic) { var ag = partDic["comboFilters[Agencies]"].substring(1); $('.Agency .dropdown-toggle').html(ag).append(' <span class="caret"></span

尝试以下方法

var timeoutId = setTimeout(function() {
    if ("comboFilters[Agencies]" in partDic) {
        var ag = partDic["comboFilters[Agencies]"].substring(1);
        $('.Agency .dropdown-toggle').html(ag).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Clients]" in partDic) {
        var cl = partDic["comboFilters[Clients]"].substring(1);
        $('.Client .dropdown-toggle').html(cl).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Years]" in partDic) {
        var yr = partDic["comboFilters[Years]"].substring(1).slice(1);
        $('.Year .dropdown-toggle').html(yr).append(' <span class="caret"></span>');
    }
    clearTimeout(timeoutId);
}, 1000);
var timeoutId=setTimeout(函数(){
if(“第DIC部分中的[机构]”){
var ag=partDic[“组合过滤器[机构]”]。子字符串(1);
$('.Agency.dropdown toggle').html(ag.append('');
}
if(partDic中的“组合过滤器[客户端]”){
var cl=partDic[“组合过滤器[客户端]”]。子字符串(1);
$('.Client.dropdown toggle').html(cl.append('');
}
如果(第二部分中的“年”){
var yr=partDic[“组合过滤器[年]”]。子字符串(1)。切片(1);
$('.Year.dropdown toggle').html(yr.append('');
}
clearTimeout(timeoutId);
}, 1000);

它只在重复计时器的范围内有意义。使用
setInterval
和匹配的
clearInterval

var timeoutId = setInterval(function() {
    if ("comboFilters[Agencies]" in partDic) {
        var ag = partDic["comboFilters[Agencies]"].substring(1);
        $('.Agency .dropdown-toggle').html(ag).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Clients]" in partDic) {
        var cl = partDic["comboFilters[Clients]"].substring(1);
        $('.Client .dropdown-toggle').html(cl).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Years]" in partDic) {
        var yr = partDic["comboFilters[Years]"].substring(1).slice(1);
        $('.Year .dropdown-toggle').html(yr).append(' <span class="caret"></span>');
    }
    clearInterval(timeoutId);
}, 1000);
我只是想澄清一下。如果只想运行一次,只需调用
setTimeout
,不必担心返回值或
cleartimout

setInterval(function() {
    if ("comboFilters[Agencies]" in partDic) {
        var ag = partDic["comboFilters[Agencies]"].substring(1);
        $('.Agency .dropdown-toggle').html(ag).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Clients]" in partDic) {
        var cl = partDic["comboFilters[Clients]"].substring(1);
        $('.Client .dropdown-toggle').html(cl).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Years]" in partDic) {
        var yr = partDic["comboFilters[Years]"].substring(1).slice(1);
        $('.Year .dropdown-toggle').html(yr).append(' <span class="caret"></span>');
    }
}, 1000);
setInterval(函数(){
if(“第DIC部分中的[机构]”){
var ag=partDic[“组合过滤器[机构]”]。子字符串(1);
$('.Agency.dropdown toggle').html(ag.append('');
}
if(partDic中的“组合过滤器[客户端]”){
var cl=partDic[“组合过滤器[客户端]”]。子字符串(1);
$('.Client.dropdown toggle').html(cl.append('');
}
如果(第二部分中的“年”){
var yr=partDic[“组合过滤器[年]”]。子字符串(1)。切片(1);
$('.Year.dropdown toggle').html(yr.append('');
}
}, 1000);

这是一个标准的“请在1秒后运行此代码”模式。

quetsion已更新,我不确定清除应该放在哪里。所以,标记是错误的。clearTimeout不是特定于jquery的。它是javascript吗:我还以为是jquery呢?
setTimeout
只触发一次,所以这段代码没有意义,如图所示。你是想用
setInterval
clearInterval
吗?@rob.m no-
clearInterval
代表
setInterval
。明白了。感谢您在第一次执行
setInterval()
后调用
clearInterval()
时清除了一些东西,这不是一个指示器吗,您确实想使用
setTimeout()
?是的,完全正确,根据您告诉我的,如果我这样做,我不需要清除,因为它只触发一次
setInterval(function() {
    if ("comboFilters[Agencies]" in partDic) {
        var ag = partDic["comboFilters[Agencies]"].substring(1);
        $('.Agency .dropdown-toggle').html(ag).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Clients]" in partDic) {
        var cl = partDic["comboFilters[Clients]"].substring(1);
        $('.Client .dropdown-toggle').html(cl).append(' <span class="caret"></span>');
    }

    if ("comboFilters[Years]" in partDic) {
        var yr = partDic["comboFilters[Years]"].substring(1).slice(1);
        $('.Year .dropdown-toggle').html(yr).append(' <span class="caret"></span>');
    }
}, 1000);