使用JQuery.animate()从一个值开始,到另一个值结束

使用JQuery.animate()从一个值开始,到另一个值结束,jquery,jquery-animate,Jquery,Jquery Animate,可以使用jquery的.animate()方法将属性从(显式设置的)初始值设置为最终值,还是必须始终从当前值设置为另一个值?据我所知,必须从当前值设置为最终值。但假设您希望将高度从20像素设置为100像素;只要做: $('#elem').css('height', '20px').animate({ height: 100 }, 1000); 只需在调用animate()之前设置属性的值。。animate()将始终从正在设置动画的属性的当前设置值变为使用该方法指定的最终值。如果希望从不透明度0

可以使用jquery的.animate()方法将属性从(显式设置的)初始值设置为最终值,还是必须始终从当前值设置为另一个值?

据我所知,必须从当前值设置为最终值。但假设您希望将高度从20像素设置为100像素;只要做:

$('#elem').css('height', '20px').animate({ height: 100 }, 1000);

只需在调用animate()之前设置属性的值。

。animate()
将始终从正在设置动画的属性的当前设置值变为使用该方法指定的最终值。如果希望从不透明度0.75变为0.25,并且当前值为0.5,则需要执行
.css('opacity',0.75)。动画({opacity:0.25})

,只需将其设置为伪选择器即可指定开始值

让我们考虑一下,将一些不是CSS属性的值从100到100动画化。在这种情况下,您的代码将是:

$({xyz: -100}).animate({xyz:100}, {duration:5000, complete:function(){
    console.log("done");
}, step: function(now) {
    //here you want to place your processing code for every frame of animation.
    console.log("Anim now: "+now);
}});

您可以在JSFIDLE上看到工作示例。

我不太理解您的问题。要
.animate()
,当前值和初始值之间的差异是什么?再详细一点就好了,再加上一些代码示例来说明您要做的事情。:)在使用
.animate()
之前,您不能设置初始值吗?@Alex-如果我想将div从页面外设置为正常位置,我会从一个外围值开始,例如。@难以捉摸-是的,只是想知道是否有更有效的方法通过.animate()调用来完成,而不必重新定位,然后,每次制作动画