JQuery Fadeout, загрузить, Fadein - PullRequest
       6

JQuery Fadeout, загрузить, Fadein

12 голосов
/ 30 апреля 2010

Я использую JQuery, и я хочу, чтобы это произошло.

Div исчезает с помощью команды fadeOut. Затем он загружает контент из URL с помощью команды load. Затем, после загрузки контента, он возвращается обратно с помощью команды fadeIn.

Код, который у меня есть:

$("#myDiv").fadeOut().load('www.someurl.com').fadeIn()

Однако это не работает. Он мигает, затем загружается, затем загружается. Я думаю, проблема в том, что замирание происходит до завершения загрузки.

Что мне делать

* +1011 * Спасибо

Ответы [ 4 ]

11 голосов
/ 30 апреля 2010

Вы можете использовать функцию обратного вызова load () , например:

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    $(this).fadeIn();
});

вы можете захотеть использовать статус вызова load (), чтобы увидеть, все ли выполнено правильно.

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    if (status == "error") {
        // handle error
    }
    else
    {
        $(this).fadeIn();
    }
});
9 голосов
/ 30 апреля 2010
$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

Предел указывает, сколько времени ждать ответа при загрузке вызова

5 голосов
/ 30 апреля 2010

Используйте success обратный вызов для .load(), например:

$("#myDiv").fadeOut().load('www.someurl.com', function() {
  $(this).fadeIn();
});
1 голос
/ 30 апреля 2010

вам нужно сделать замирание в функции обратного вызова загрузки из-за асинхронного характера AJAX.

...