好吧,我猜这是给数学爱好者的。我对缓动函数有一些基本知识,但需要一些帮助。
我有一个使用“easeOutSine”函数通过 CSS 转换(translateX)翻译的元素。
它在 1500 毫秒内覆盖距离 A。我需要找出它需要多少时间才能覆盖距离 B(介于两者之间)
“easeOutSine”的功能是:
function easeOutSine(t, b, c, d) {
return c * Math.sin(t/d * (Math.PI/2)) + b;
}
显然 A 和 B 对我来说是已知的值。但我需要知道将它们放在参数中的哪个位置或如何处理这个问题。首先十分感谢!
编辑:
示例:假设元素在这 1500 毫秒内移动了 1000 像素。当它处于 360 像素时,究竟过了多少时间?很容易找出它何时线性移动,但我无法使用easeOutSine 函数超越它。(当它到达这个位置时,我想将一个类附加到另一个元素)