2010-11-03 112 views
8

我认为这将会遇到非常基本的东西,但我是全新的jquery精彩世界。Jquery replaceWith - fadeout/Fadein

继承人我简单的工作代替代码:

<div>yes yes </div> 
<script>$('div').replaceWith('<span>no no</span>');</script> 

我所试图实现的是淡出“是是”分区然后淡入新的“不,不”跨度

任何想法家伙?

回答

15
$('div').fadeOut(1000,function(){ $(this).text('no no').fadeIn(1000); }); 

使用回拨功能淡出提供

+0

太好了! ,我不能在.text('no no')内使用html吗? – Webby 2010-11-03 12:55:55

+0

你应该改变.text('no no'); .html('no no');并把html放在里面。那是.text和.html的用途。 – DoXicK 2010-11-03 13:01:31

+0

我不明白你的问题,但是如果你想使用html,那么使用:.html(' no no')而不是text()。 – ifaour 2010-11-03 13:01:31

1
$('div').fadeTo(1000, 0, function(){ $(this).html('<span>no no</span>').fadeTo(1000, 1); }); 

我会拿DoXicK的建议只是一点点进一步FadeTo。我还加入了你正在讨论的.html功能。我更喜欢fadeTo,因为它会给你一点灵活性,并在stop()函数结束时避免一些不受欢迎的行为。更何况,你可以褪色到你喜欢的任何比例。