我正在尝试使用以下方法更改Div的内容:
$('#content').click(function() { $('#content').fadeOut().load('about.PHP').fadeIn('normal'); });
但它总是闪烁,我不知道如何解决它,因为我对jQuery有点缺乏经验.
我在这里看了同样的问题,我尝试了所选择的答案,但无济于事.
解决方法
您应该使用.fadeOut()和.load()函数的回调函数.此时您正在淡出,添加HTML,然后同时淡入所有内容.
尝试:
//add event handler to click event for the #content element $('#content').click(function() { //cache this element var $this = $(this); //fadeOut the element $this.fadeOut(function () { //after fadeOut is done,change it's HTML $this.load('about.PHP',function () { //Now fadeIn the new HTML,this is in the callback for the `.load()` //function because `.load()` is an asynchronous function $this.fadeIn(); }); }); });
我嵌套所有回调函数的原因是每个进程都可以在下一个进程运行之前完成.首先允许.fadeOut()完成,然后允许.load()获取数据并将其放在DOM中,然后我们.fadeIn()使用新的HTML元素.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。