$("button").on("click", function(){
$("div").fadeOut(1000);
console.log("Fade Completed");
});
执行上述代码时,在 div 实际淡出之前,控制台会记录“Fade Completed”。 据我所知,Javascript 是单线程的。它逐行执行代码。那么为什么在 div 完全淡出之前先登录“Fade Completed”呢?
上面的代码是否利用了 javascript 的异步特性(即并行浏览器引擎可以与 JS 引擎一起运行)?但如果是这样的话,在清除执行堆栈后,div 就会开始淡出。所以根据我的理解,情况并非如此。
请详细说明此行为。
最佳答案
您必须登录回调函数
$("button").on("click", function(){
$("div").fadeOut(1000, function(){
console.log("Fade Completed");
});
});
关于javascript - jQuery:fadeOut() 异步行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53247612/