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);