如何在fadeOut/fadeIn之前完成jQuery load()?

Dav*_*idM 3 jquery fadeout fadein

我想通过jQuery load()进行一次AJAX调用,只有一次返回,然后fadeOut旧内容并淡入新内容.我希望旧内容保持显示,直到检索到新内容,此时触发淡出/输入.

使用:

$('#data').fadeOut('slow').load('/url/').fadeIn('slow');
Run Code Online (Sandbox Code Playgroud)

内容淡入和淡出,稍后load()调用返回,并且数据更新,但淡入淡出已经完成.

Tom*_*han 7

使用回调来控制调用的顺序.

var $data = $('#data');
$data.fadeOut('slow', function() { 
    $data.load('/url/', function() { 
        $data.fadeIn('slow'); 
    }); 
});
Run Code Online (Sandbox Code Playgroud)

(注意:我不是100%确定是否使用 var $data = ... 并且 $data.doStuff() 实际上会工作 - 如果确实如此,它可以使您不必每次都在DOM树中查找div,但如果没有,只需删除第一个线和使用 $('#data') 无处不在......

  • 上面的$ data变量将在其他匿名函数中提供. (2认同)