Javascript代码执行延迟
Javascript code execution delayed
我在click事件上调用了下面的函数。基本上这段代码需要一些时间(大约200ms)来执行在浏览器上,因为我触发点击事件的jquery树。
function showAsset()
{
$(".err").html("Please wait . . .")
$(".err").css('display','block')
$(".err").css('background','orange')
v=$("#asset_details").val()
v=v.split("###")
v1=v[0].split("-")
//Upto this block should be executed first
//Jquery Tree block starts
$("#navigation ."+v1+" div").click()
$("#navigation ."+v[1]+" div").click()
$("#navigation table tr:contains('"+v[0]+"')").css({'background':'#FFF82A'})
$('html, body').animate({
'scrollTop' :( $("#navigation table tr:contains('"+v[0]+"')").position().top-5)
});
//Jquery Tree block ends
}
因此,为了指示我的用户加载,我在函数调用开始时显示"请等待…"消息。但是此消息是在函数调用完全执行后显示的。
我的问题是为什么当我调用这个函数时,块的开始也会延迟。我将Jquery Tree块放在函数的底部。但是所有的代码是同时执行的。
您可以使用setTimeout
来分隔您的执行。
<在指定的延迟后调用函数或执行代码段。
来源/em>
第一个不包含setTimeout
的块在单独的作用域中执行,setTimeout
之后执行。
function showAsset() {
$(".err").html("Please wait . . .")
$(".err").css('display', 'block')
$(".err").css('background', 'orange')
v = $("#asset_details").val()
v = v.split("###")
v1 = v[0].split("-")
//Upto this block should be executed first
//Jquery Tree block starts
setTimeout(function() {
$("#navigation ." + v1 + " div").click()
$("#navigation ." + v[1] + " div").click()
$("#navigation table tr:contains('" + v[0] + "')").css({
'background': '#FFF82A'
})
$('html, body').animate({
'scrollTop': ($("#navigation table tr:contains('" + v[0] + "')").position().top - 5)
});
//Jquery Tree block ends
}, 0);
}
相关文章:
- 延迟代码执行,直到下载完成
- 如何在Javascript中延迟for循环执行
- 延迟加载 脚本加载和/或执行
- jquery .each 循环来执行每个数组项,它们之间有延迟
- 如何在 JS 中调用 2 次或更多次时延迟函数执行
- 当超出范围时,延迟执行脚本Jquery(或SetTimeOut)BUT
- Async.js-在访问正确的数组索引时延迟执行
- 为什么Javascript需要一个匿名函数来延迟执行
- 延迟执行,包括成功回调
- 类似于jQuery when/then的东西:带break的延迟执行
- 延迟执行直到需要
- 有人知道JS链库允许延迟执行方法吗?
- 如何使用延迟执行foreach来执行搜索和替换功能.与延迟
- 由于异步函数延迟执行和完成,变量返回预定义值
- 在promise挂起时延迟执行的回调函数
- Javascript中函数的延迟执行
- greasemonkey-javascript:延迟执行(对于bgColor)
- 在javascript中交替无限地延迟执行两个函数
- 了解延迟执行链的语法
- 这里需要在jQuery中延迟执行吗?