jquery 没有持续时间的动画
jquery animation with no duration
我试图在不设置持续时间的情况下访问 jQuery 动画的值。 (但需要持续时间 属性 来告诉动画我想要多少步)。其实我不想做任何动画,我只想 jQuery 计算最小值和最大值之间的值。我不自己计算它们的原因是我想利用 jQuery 的缓动和 jQuery 缓动插件
的缓动
var min = 0,
max = 50,
steps = 20,
values_arr = [];
$({value: min}).animate({value: max}, {
duration: steps,
step: function (v) {values_arr.push(v)}
})
有什么办法可以不等待动画,而是立即获取所有值?
您可以像这样直接调用 ease 函数:
$.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));
}
我试图在不设置持续时间的情况下访问 jQuery 动画的值。 (但需要持续时间 属性 来告诉动画我想要多少步)。其实我不想做任何动画,我只想 jQuery 计算最小值和最大值之间的值。我不自己计算它们的原因是我想利用 jQuery 的缓动和 jQuery 缓动插件
的缓动var min = 0,
max = 50,
steps = 20,
values_arr = [];
$({value: min}).animate({value: max}, {
duration: steps,
step: function (v) {values_arr.push(v)}
})
有什么办法可以不等待动画,而是立即获取所有值?
您可以像这样直接调用 ease 函数:
$.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));
}