维护jQuery的执行顺序
Maintaining jQuery order of execution
在我的jQuery代码中,我在保持正确的执行顺序方面遇到了问题。我环顾四周,发现使用setTimeout()
是一种选择,但我不确定在哪里使用。setTimeout()
:的当前代码结构如下
$(document).ready(function(){
$('#search-submit').on('click', function(){
var keyword = $('#search-input').val();
$(".loading").show();
setTimeout(function() {
if(){
//some conditions and calls to post
}
$(".loading").hide();
}, 0);
}
}
hide()
应该在if块执行完毕后生效,但现在它直接隐藏了元素。
实际上,jQuery有一种更精细的同步方式:
$(function() {
$('#search-submit').on('click', function(){
var keyword = $('#search-input').val();
$('.loading').show().queue(function() {
if ( ... ) {
//some conditions and calls to post
}
$(this).dequeue();
}).queue(function() {
$(this).hide().dequeue();
});
});
});
$(document).ready(function(){
$('#search-submit').on('click', function(){
var keyword = $('#search-input').val();
$(".loading").show();
if(){
//some conditions and calls to post
}
setTimeout(function() {
$(".loading").hide();
}, 1500);
}
}
相关文章:
- 使用appendChild()动态添加的脚本是按顺序执行还是并行执行
- 如何在angularjs中按顺序执行多数据ng应用程序
- 要按顺序执行的异步代码
- AngularJS:如何按照预定义的顺序执行函数
- 按顺序执行导入的 Javascript 函数
- 无法让 jQuery 以正确的顺序执行代码
- 触发后的 Javascript 顺序执行
- $http.post() angularjs 响应函数未按正确的顺序执行
- 如何按顺序执行 jQuery 函数
- 为什么Javascript不按顺序执行代码
- 对象在循环中运行时未定义,但在按顺序执行时未定义
- 按顺序执行ajax请求的动态编号
- javascript在网络上的顺序执行
- SQL语句是通过PhoneGap'按顺序执行的吗;的Web SQL数据库
- jQuery Deferred和Promise用于同步和异步函数的顺序执行
- 顺序执行js
- 如何按顺序执行承诺数组
- 有没有更好的方法以一定的顺序执行一堆部分异步的jQuery函数
- 如何确保 Dojo 模块按特定顺序执行
- 为什么我的 JavaScript 不能按顺序执行