我已经看到了一些这方面的帖子,但没有一个解决方案对我有用 - 而且我已经尝试了很多。我只是执行一个简单的序列 - 淡入淡出,加载内容,淡入淡出但是加载的内容在完全不透明度中出现片刻然后消失,然后执行淡入淡出。我已经尝试将加载的div的显示属性设置为无,然后在淡入功能,设置延迟,显示等中显示它。我尝试过fadeTo,fadeOut等。顺便说一下,hide()工作正常,但这不是我想要的效果。
这是我的代码:
...
$('#bio_container').fadeOut(500,loadContent(ident));
});
function loadContent(ident){
$('#bio_container').load('/index.php/ajax/bios/' + ident,showContent);
}
function showContent(){
$('#bio_container').fadeIn(500);
}
任何想法都会受到赞赏。
答案 0 :(得分:1)
试试这个。
$('#bio_container').fadeOut(500, function(){
loadContent(ident)
});
编辑:如果查看fadeOut的定义,它会接受一个回调作为参数,并在动画结束时调用该函数。因此,回调引用要么是像上面那样的内联函数定义,要么只是没有paranthesis的函数名。如果你给这样的东西someFunction()它会评估函数,然后将返回值作为参数。并且可能在动画结束并调用结果时抛出一个被抑制的异常。
答案 1 :(得分:0)
它正在发生,因为javascript以线性形式执行,而fadeOut(time,fn)执行fn,然后执行te淡出。
为了解决这个问题,我使用了一些JQuery插件,对于你的情况我建议this simple slideshow,或者如果你正在寻找更具体的东西,请参阅this list。
PS:抱歉我的英语不好。