没有持续时间的jquery动画

时间:2015-08-10 13:00:06

标签: javascript jquery jquery-animate duration

我试图在不设置持续时间的情况下访问jQuery动画的值。 (但需要持续时间属性来告诉动画我想要多少步骤)。实际上我不想动画任何东西,我只是想让jQuery计算min和max之间的值。我自己不计算它的原因是我想利用jQuery的缓动和jQuery Easing插件的那些

var min = 0,
    max = 50,
    steps = 20,
    values_arr = [];

$({value: min}).animate({value: max}, {
    duration: steps, 
    step: function (v) {values_arr.push(v)}
})

有没有办法不等待动画但是立即获得所有值?

1 个答案:

答案 0 :(得分:0)

您可以直接调用缓动功能:

$.easing.easeInQuad(null, elapsedTime, initialValue, changeAmount, duration);

只需将elapsedTime从0更改为持续时间即可获得所需的值。请注意,您传递的是更改量,而不是目标值。

使用您的数据,您可以执行以下操作:

var min = 0,
    max = 50,
    steps = 20,
    values_arr = [];


for(var i = 0; i < steps; i++){
    values_arr.push($.easing.easeInQuad(null, i, min, max, steps));
}