我正在使用JQuery,我想要发生的是。
Div使用fadeOut命令淡出。然后使用load命令从URL加载内容。然后,一旦内容加载,它就会使用fadeIn命令淡出。
我的代码是:
$("#myDiv").fadeOut().load('www.someurl.com').fadeIn()
然而,这不起作用。它闪烁然后加载然后加载。我认为问题是在负载完成之前发生了衰落。
我该怎么办
由于
答案 0 :(得分:11)
您可以使用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();
}
});
答案 1 :(得分:9)
$("#myDiv").fadeOut(1000, function () {
$("#myDiv").load("www.someurl.com", {limit: 25}, function(){
$("#myDiv").fadeIn();
});
});
限制指定在加载调用中等待答案的时间长度
答案 2 :(得分:5)
使用.load()
的success
回调,如下所示:
$("#myDiv").fadeOut().load('www.someurl.com', function() {
$(this).fadeIn();
});
答案 3 :(得分:1)
由于AJAX的异步特性,你需要在加载回调函数中进行淡入淡出。