0

我在使用.animate()jQuery 方法时遇到问题。

问题是,我有一个div当前宽度为 0,当我尝试将其从 0 设置为 X% 时,它并没有那样做,而是从 100% 变为 X%。

我还尝试在动画之前强制宽度并停止所有以前的动画,但不,不起作用。

这是我所有这些尝试的最终命令:

$("#div_3B").css({"width":"0"}).stop(true,true).animate({"width":"79.6%"}, 700);

知道什么可能导致问题吗?我会注意到这个单个命令实际上是一系列顺序命令中的最后一个:

$("#div_3B").animate({"width":"0"}, 700, function() {
$("#div_3A").animate({"width":"20%"}, 700, function() {
$("#div_3B").css({"width":"0"}).stop(true,true).animate({"width":"79.6%"}, 700)
;});});

提前致谢!

4

1 回答 1

0

好的,它倒退的原因是因为你正在动画到 0 开始。只需将width:0放入css中,然后您只需要两个:

$("#div_3A").animate({"width":"20%"}, 700, function() 
{
   $("#div_3B").css({"width":"0"}).stop(true,true).animate({"width":"79.6%"}, 700);
});

见这里:http: //jsfiddle.net/thespacebean/JmzjK/

如果您确实希望 3B 首先从 100% 变为 0,然后在 3A 完成动画后变为 79.6,那么您拥有的代码可以工作:

http://jsfiddle.net/thespacebean/JmzjK/2/

于 2013-10-19T16:30:16.087 回答