我对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的内容,我想淡入。为什么这不起作用?
答案 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中的内容,但由于它是预加载器,我猜这是预期的效果?