javascript - jQuery:fadeOut() 异步行为

标签 javascript jquery

$("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/

相关文章:

javascript - 通过ajax使用下拉表单重新填充多个选择表单

javascript - 相互不重叠的淡入淡出效果

javascript - 操纵 jQuery 节点的文本值

悬停时 jQuery 动画边框颜色?

javascript - objectjquery ajaxUPD 成功返回未定义

javascript - Google reCAPTCHA V2 JavaScript 我们检测到您的站点未验证 reCAPTCHA 解决方案

javascript - 根据下拉选择更改表单操作

javascript - 冲压发动机 : How to make element appear and reappear

javascript - 如何在 javascript 中将 if else 条件添加到数组中(已编辑)

javascript - Jquery UI 对话框在 ssl 页面上不起作用