jquery与fadeTo一起闪烁加载

时间:2011-07-15 14:58:03

标签: ajax jquery

我已经看到了一些这方面的帖子,但没有一个解决方案对我有用 - 而且我已经尝试了很多。我只是执行一个简单的序列 - 淡入淡出,加载内容,淡入淡出但是加载的内容在完全不透明度中出现片刻然后消失,然后执行淡入淡出。我已经尝试将加载的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);
}

任何想法都会受到赞赏。

2 个答案:

答案 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:抱歉我的英语不好。