jquery 淡入回调不等待

标签 jquery callback fadein

我试图让一个div淡出,然后让第二个div淡入其位置,但第二个div淡入淡出的回调似乎不会等待第一个div完成淡出,事实上它们都淡出同时提供交叉淡入淡出效果,而不是淡出然后再淡入。代码如下:

$(document).ready(function () {

    //toggle story text
    $(function () {
        $("#imageGallery").scroll(function () {

            if ($(this).scrollLeft() > 1000) {

                $("#story2").fadeIn("300", function () {
                    $("#story1").fadeOut("300");
                });


            } else {

                $("#story1").fadeIn("slow");
                $("#story2").fadeOut("slow");
            }
        });

    })

});

以及我使用它的页面:

http://www.jonathantopf.com/imijstudio/

有什么想法为什么会发生这种情况吗?

最佳答案

您将在淡出另一个 div 之前淡入新的 div。这会产生交叉淡入淡出效果,这就是您看到它的原因。也许您的意思是:

$("#story1").fadeOut("300", function () {
    $("#story2").fadeIn("300");
});

在淡入下一个之前淡出当前一个。然后,您将不会同时在屏幕上看到它们(例如,没有交叉淡入淡出)。

关于jquery 淡入回调不等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8113744/

相关文章:

c# - 将 C++ 迁移到 C#(回调)

javascript - WebSocket 发送有关连接的额外信息

javascript - 当窗口未聚焦时如何强制发生 Jquery 动画

javascript - 在页面最初加载时执行淡入?

jQuery fadeIn 和 fadeOut 在 Chrome 中出现问题,但在 Firefox 中有效

javascript - 自定义 HTML 复选框标签

javascript - jQuery 图片内存游戏

jquery - 等待来自调用函数的 jquery ajax 回调

javascript - 旋转木马 slider 不适用于 Flexbox

Javascript隐藏标签标签中的内容以及标签标签之后的内容