jQuery的fadeIn()、animation()函数是非阻塞的吗?
Are jQuery fadeIn(), animation() functions non-blocking?
我有一个在$('document').ready()
中发出几个ajax查询的页面。我想使用fadeIn()
或animation()
在收到第一个ajax调用后几秒钟显示一些信息。
在动画播放期间,下面的js/ajax调用会被阻塞吗?或者我应该使用setTimeout延迟动画一秒钟,以便ajax调用可以异步启动?
编辑:我的代码看起来像这样。其他ajax调用会被阻塞5秒吗?
$.ajax({..., success: function(result) {
$('#msg').html(result.xxx);
$('#msg').fadeIn(5000);
// Other ajax calls
$.ajax(....)
....
}
是的,它们是非阻塞的。动画方法只是初始化动画并立即返回。
任何更新用户界面的代码都必须是非阻塞的,因为当任何函数运行时,用户界面都不会更新。
所有 javascript都可以被认为是阻塞的,因为它完全是单线程的。
你不能这样做:
fadeIn
sleep(5 seconds)
fadeOut
而不会导致传入的ajax响应排队,直到fadeOut
返回。使用setTimeout可能是最好的方法。
编辑:正如@Guffa指出的那样,对fadeIn
和fadeOut
的实际调用本身并没有阻塞调用。您可能需要这样的内容:
fadeIn(time, function() {
setTimeout("fadeOut()", 5000);
});
相关文章:
- paper.js animation along a path
- Jquery animation/fadeIn/fadeOut
- 如何计算一个对象中五个属性中有多少是非null的
- Animation cuts off multiple lines of text in <p>
- jquery animation.scrollTop()在mdl链接中不起作用
- Stop ::-webkit-progress-value animation
- 将 JQuery Animation 转换为 Javascript/CSS3
- d3 animation wordCloud flyin
- 当a是负数,b是非整数时,为什么Math.pow(a,b)是NaN
- Angular Animation类中Greensock JavaScript的非平滑tweening
- AngularJS location.hash animation
- Geocoding和Animation.drop与超时不兼容
- Jquery Ajax beforeSend loading animation
- 函数jQuery.animation()运行了两次行,但不起作用
- CSS animation and Jquery2
- SVG animation with SMIL
- CSS animation and Jquery
- jQuery / CSS Animation - FF和Chrome中的暂停会跳回并启动不正确
- JavaScript animation
- jQuery的fadeIn()、animation()函数是非阻塞的吗?