12

我正在使用 JQuery,我想要发生的是。

Div 使用fadeOut 命令淡出。然后它使用 load 命令从 url 加载内容。然后,一旦内容加载,它就会使用 fadeIn 命令淡入。

我的代码是:

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

但是,这不起作用。它有点闪烁然后加载然后加载。我认为问题是在加载完成之前就发生了衰落。

我应该怎么办

谢谢

4

4 回答 4

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();
    }
});
于 2010-04-30T15:07:49.277 回答
9
$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

限制指定在加载调用中等待应答的时间

于 2010-04-30T15:12:22.277 回答
5

使用success回调.load(),如下所示:

$("#myDiv").fadeOut().load('www.someurl.com', function() {
  $(this).fadeIn();
});
于 2010-04-30T15:07:52.517 回答
1

由于 AJAX 的异步特性,您需要在加载回调函数中进行淡入淡出。

于 2010-04-30T15:08:14.047 回答