jQuery animate方法不会从当前值开始

时间:2013-10-19 16:09:21

标签: jquery animation jquery-animate

我遇到了.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)
;});});

提前致谢!

1 个答案:

答案 0 :(得分:0)

好吧,它倒退的原因是因为你开始动画为0。只需将宽度: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/