Jquery fadeout, load, fadein
Я использую JQuery, и я хочу, чтобы это произошло.
Div исчезает, используя команду fadeOut. Затем он загружает контент из URL-адреса, используя команду load. Затем, как только содержимое загружается, оно исчезает при использовании команды fadeIn.
Код, который у меня есть:
$("#myDiv").fadeOut().load('www.someurl.com').fadeIn()
Однако это не работает. Это вид вспышек, затем загружается, затем загружается. Я думаю, проблема в том, что затухание происходит до завершения загрузки.
Что мне делать
Спасибо
Ответы
Ответ 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.