Подтвердить что ты не робот

Jquery fadeout, load, fadein

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

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

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

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

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

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

Спасибо

4b9b3361

Ответ 1

вы можете использовать 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();
    }
});

Ответ 2

$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

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

Ответ 3

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

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

Ответ 4

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