jQuery fadeIn(),animation()函数是非阻塞的吗?

我有一个页面在$('document').ready()发出几个ajax查询.ready $('document').ready() 。 我想在收到第一个ajax调用后使用fadeIn()animation()来显示一些信息几秒钟。

在动画播放期间是否会阻止以下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 

fadeOut返回之前,不会导致传入的ajax响应排队。 使用setTimeout可能是最好的事情。

编辑:正如@Guffa指出的那样,对fadeInfadeOut的实际调用本身并不是阻塞调用。 你可能想要的是:

 fadeIn(time, function() { setTimeout("fadeOut()", 5000); }); 

或者说是这样的话。