setTimeout函数不会停止执行
setTimeout function doesnt stop execution?
我偶然发现了setTimeout的一个问题。
$current.removeClass(class2);
setTimeout(function(){$current.css('display', 'none')},1000);
if(!$current.is('#' + id)){
$('#' + id).css('display','block');
setTimeout(function(){$('#' + id).addClass(class2)}, 1000);
$current = $('#' + id);
}
我希望在添加css"display:none"之后执行if语句。我怎样才能做到这一点?我认为setTimeout会停止代码的执行,然后在函数运行后继续。
您在超时内将代码放入函数中(代码间距也很重要…):
$current.removeClass(class2);
setTimeout(function() {
$current.css('display', 'none')
if( !$current.is('#' + id) ) {
$('#' + id).css('display','block');
setTimeout(function() {
$('#' + id).addClass(class2)
}, 1000);
$current = $('#' + id);
}
},1000);
setTimeout
将在n毫秒后运行该函数,但脚本的其余部分将继续运行。
如果你想让代码的其余部分在display:none
之后才运行,你也需要把它移到函数中:
$current.removeClass(class2);
setTimeout(function(){
$current.css('display', 'none');
if(!$current.is('#' + id)){
$('#' + id).css('display','block');
setTimeout(function(){
$('#' + id).addClass(class2);
}, 1000);
$current = $('#' + id);
}
},1000);
相关文章:
- 如何做到这一点,使代码在不传递条件后执行函数
- javascript自执行函数-不同的语法
- JavaScript:只有当数组中的所有项都为true时才执行函数
- iFrame url更改时执行函数
- 为什么AngularJS在每个摘要循环上都执行函数
- 如何使用setInterval执行函数
- 当*ngFor以角度2结束时执行函数
- Ajax调用完成后如何执行函数
- 在显示引导弹出窗口之前执行函数
- 从自执行函数返回函数的Javascript性能命中率
- 在操作完成时执行函数
- jquery/js中的自执行函数
- 如何仅在完成对gap.client.youtube的请求.execute后执行函数
- 构造函数函数中的自执行函数的OO上下文/范围
- Javascript未使用=运算符执行函数
- AngularJS:如何按照预定义的顺序执行函数
- 在不使用隔离作用域的情况下执行函数的角度指令
- 如何在页面加载后执行函数是在 AngularJS 中完成的
- 完成页面加载后执行函数
- 如何在完成完全执行函数后触发循环