带有缓动的JavaScript(vanilla)输入范围动画

时间:2018-06-08 16:04:31

标签: javascript animation easing

我尝试使用stepUp(step)stepDown(step)使用缓动函数设置输入范围滑块的动画,并仅使用vanilla js中的requestAnimationFrame

我有大致以下设置:

let time;

const animateSliderUp = () => {
  time = {
    start : performance.now(),
    total: 5000
  }
  requestAnimationFrame(tick);
}

const tick = now => {
  time.elapsed = now - time.start;
  const progress = time.elapsed / time.total;
  const value = EasingFunctions.easeInQuad(progress);

  console.log(value, time.elapsed);

  if(progress < 1)
    requestAnimationFrame(tick);
}

......这让我在总时间中占有一定比例。如果我可以用这个虚函数slider.slideTo(pos)来控制滑块的位置,我可以解决这个问题,但由于我只能上下一定量,我无法解决这个问题。

这里的Boilerplate代码: https://glitch.com/~illustrious-caterpillar

欢迎任何建议。

0 个答案:

没有答案