jQuery .unload()忽略fadeOut并跳过

时间:2011-03-09 17:44:36

标签: jquery fadeout

首先,对于双重问题感到抱歉,但我觉得这是一种截然不同的方式。

我有:

$(document).ready(function(){
        $('#container').fadeOut(0);
        $('#container').fadeIn(500);

        $(window).unload(function(){
            alert("Hello.");
            $('#container').fadeOut(500);
        });
    });

它应该通过淡入淡出来显示页面,并通过淡化它来卸载它。但是,当我退出页面或提交其中的表单时,我只看到警报,但是在我按下OK后,页面就会消失,然后出现下一个。淡入淡出未执行。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

卸载时调用的任何内容都需要同步。我相信fadeOut方法会调用许多异步回调。因此,当您调用fadeOut时,会设置一些回调以便稍后制作动画。但是,卸载不会等待。

查看this question以自行制作动画。

答案 1 :(得分:0)

现在有一个 [,完整] 回调(1.0 +):

http://api.jquery.com/fadeOut/#fadeOut-duration-complete