如何使用 jQuery 缓慢淡出 div,更新内容,然后缓慢淡入 div?
我有一个 div
我想要淡出,更新其内容,然后淡入。到目前为止,我已经尝试过:
$('#myDivID').fadeOut('slow', function() {
$('#myDivID').replaceWith("<div id='myDivID'>" + content + "</div>");
$('#myDivID').fadeIn('slow');
});
发生的情况是淡出完成并调用匿名回调。到目前为止,一切都很好。
div
的内容已正确替换,但 fadeIn()
效果是立即的 — 没有平滑过渡,只是快速、敏捷地跳转到更新的 div< /代码>。
有更好的方法来实现这一点吗?谢谢你的建议。
I have a div
I want to fade out, update its content, and then fade back in. So far I have tried:
$('#myDivID').fadeOut('slow', function() {
$('#myDivID').replaceWith("<div id='myDivID'>" + content + "</div>");
$('#myDivID').fadeIn('slow');
});
What happens is that the fade out completes and calls the anonymous callback. So far, so good.
The div
's content is replaced correctly, but the fadeIn()
effect is immediate — no smooth transition, just a quick, snappy jump to the updated div
.
Is there a better way to accomplish this? Thanks for your advice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您应该这样做(这有效,是经过测试的代码):
您的代码不起作用,因为新创建的 div 立即可见。另一个解决方案是添加一个
display:none
,如下所示:希望这有帮助
干杯
You should do it this way (this works, is tested code):
Your code wasn't working because the new created div is instantly visible. Another solution is to add a
display:none
like the following:Hope this helps
Cheers
使用 SetTimeOut
这可以工作
jsFiddle
http://jsfiddle.net/3XYE6/1/
use SetTimeOut
this works
jsFiddle
http://jsfiddle.net/3XYE6/1/
这应该可以!
http://jsfiddle.net/3XYE6/
this should do it!
http://jsfiddle.net/3XYE6/
当您使用 ReplaceWith 时,内容将可见,这就是为什么没有平滑过渡的原因。
首先隐藏 div,然后调用 fadeIn 将实现平滑过渡。
When you use replaceWith the content will be visible that is why there is no smooth transition.
First hiding the div and then calling fadeIn will give smooth transition.
试试这个。
http://jsfiddle.net/X3cnT/
Try this.
http://jsfiddle.net/X3cnT/
像这样的东西会起作用:
在这里测试: http://jsfiddle.net/tomgrohl/PgcTZ/
我已将隐藏置于延迟之前以使动画正常工作。
Something like this would work:
Test here: http://jsfiddle.net/tomgrohl/PgcTZ/
I've put the hide before the delay to make the animation work.