jQuery .unload () игнорирует fadeOut и пропускает - PullRequest
0 голосов
/ 09 марта 2011

Прежде всего, извините за двойной вопрос, но я чувствую, что это немного по-другому.

У меня есть:

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

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

Она должна показывать страницу, постепенно ее затухая, и заставлять ее выгружаться, затухая. Хотя, когда я покидаю страницу или отправляю форму, которая находится на ней, я вижу только предупреждение, но после нажатия на него OK, страница просто исчезает и появляется следующая. Исчезновение не выполнено.

Как я могу это исправить?

Ответы [ 2 ]

3 голосов
/ 09 марта 2011

Все, что вызывается в unload, должно быть синхронным.Я считаю, что метод fadeOut вызывает несколько асинхронных обратных вызовов.Поэтому, когда вы вызываете fadeOut, для обратной связи настраивается несколько обратных вызовов для создания анимации.Однако выгрузка не ждет.

Проверьте этот вопрос , чтобы создать анимацию самостоятельно.

0 голосов
/ 03 декабря 2014

Существует обратный вызов [, завершено] для этого сейчас (1,0 +):

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

...