通过设置元素内容,在宽度上使用JQuery animate()

时间:2011-05-30 22:00:36

标签: jquery jquery-animate

有没有办法在设置元素的text()时设置宽度变化的动画?

说,我们有

<a id="link" href="#">container/sub1/sub2</a>

然后以编程方式将$('#link').text('sub2');更改为:

<a id="link" href="#">sub2</a>

通常,所述元素的宽度会立即改变,但我正在寻找的效果是逐渐减少动画。

谢谢。

3 个答案:

答案 0 :(得分:0)

我不确定你是否真的可以将文本设置为另一个文本,但是我已经做了一些事情,首先使用fadeOut()然后设置文本,然后使用fadeIn()来让文字再次出现。这将使文本逐渐发生变化。

答案 1 :(得分:0)

你可以这样做:

http://jsfiddle.net/HYZbA/

我基本上将<a>包裹在overflow:hidden的div中。然后,当文本更改时,包装器的动画大小为a

注意:红色边框只是让您可以看到发生了什么。删除它以查看它的实际效果。

答案 2 :(得分:0)

我一直在寻找自己的解决方案,根据James Montagne的回答,我根据Albinoswordfish的建议,提出了http://jsfiddle.net/HYZbA/33/ fadeIn / fadeOut的结合。