我试图在不设置持续时间的情况下访问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)}
})
有没有办法不等待动画但是立即获得所有值?
答案 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));
}