我正在尝试访问 jQuery 动画的值而不设置持续时间。 (但需要持续时间属性来告诉动画我想要有多少步)。实际上我不想给任何东西设置动画,我只是想让 jQuery 计算最小值和最大值之间的值。我自己不计算它们的原因是我想利用 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)}
})
有没有办法不等待动画而是立即获取所有值?
最佳答案
您可以像这样直接调用缓动函数:
$.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));
}
关于javascript - jquery动画没有持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920273/