FadeIn不适用于加载功能

时间:2012-07-20 10:57:54

标签: jquery fadein

我对Jquery fadein有疑问。我试图在div上使用它,但它不起作用,即使不是首先隐藏它。

我正在使用此代码在加载页面时填充DIV:

$('#pagebody').html('<p><img src="/common/images/loader.gif" width="24" height="24" /></p>');
$('#pagebody').load("useradmin.php").hide().fadeIn('slow');

首先它加载一个小的预加载器图像,然后它加载div的内容,我想淡入。为什么这不起作用?

4 个答案:

答案 0 :(得分:1)

$.load()是异步的 - 在这种情况下,它意味着在加载完成之前将执行.hide().fadeIn()。将fadeIn放入一个回调函数,该函数将在内容加载后执行

$('#pagebody').load("useradmin.php", function() {
    $( this ).hide().fadeIn('slow');
});

答案 1 :(得分:0)

你应该写这样的东西。

 $('#pagebody').html('<p><img src="/common/images/loader.gif" width="24" height="24" /></p>').load("useradmin.php", function(){
       $('#pagebody').hide().fadeIn('slow');

    });

答案 2 :(得分:0)

$('#pagebody').load('useradmin.php', function() {
  $(this).fadeIn('slow');
});

这应该有用......

答案 3 :(得分:0)

我不确定我是否接受了这个问题,但我猜想在进行任何淡入淡出之前等待内容加载是个好主意?

$('#pagebody').hide()
   .html('<p><img src="/common/images/loader.gif" width="24" height="24" /></p>')
   .load("useradmin.php", function() {
       $(this).fadeIn('slow');
   });

另一方面,load()将替换随html()添加的内容,因此您使用html()添加的<p><img>元素将被useradmin.php中的内容,但由于它是预加载器,我猜这是预期的效果?