javascript - jquery动画没有持续时间

标签 javascript jquery jquery-animate duration

我正在尝试访问 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/

相关文章:

javascript - 将鼠标悬停在链接文本上时加载图像(CSS + Javascript)

jquery - 使用 jQuery 动画将文本插入 Div

javascript - Gulp JS 不输出 CSS 文件

javascript - 如何检查是否在文本区域中用 'enter' 键按下了 'shift' 键

java - JQuery 发布到 Tomcat Servlet

jquery - 如何使用 jQuery 获取选择选项的标签?

jquery - 使用 Jquery Animate 调整图像大小

jquery - 在上一个事件完成后开始一个事件

javascript - PHP 代码未返回正确的 MySQL 结果

javascript - md-form-field 不是已知元素 Angular Material