我正在向某些图像应用视差效果,我想宽松地申请。视差的逻辑非常简单,我计算图像来自窗口中心的距离,表达为1的因子,其中0是屏幕的中间,1是底部。我也可能将其应用于屏幕的上半部分,所以-1将是顶部。

理想情况下,我想从这里插上一些函数( http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.1.3.js )直接进入。所以我假设我希望使用'EASEOUTSINE':

// t: current time, b: begInnIng value, c: change In value, d: duration function (x, t, b, c, d) { return c * Math.sin(t/d * (Math.PI/2)) + b; }

我通过什么值?我认为最不明显的是D(持续时间),因为这些不是基于持续时间的动画。这些等式甚至是合适的吗?

注意:我不想使用任何库,这是纯正的JS。

有帮助吗?

解决方案

自己弄明白了这一点。如果没有发布所有代码,那就是它的主旨:

function easeInQuart(t, b, c, d) {
  return c*(t/=d)*t*t*t + b;
}

var deltaY // The distance the element is from the bottom of
           // the screen expressed as a factor of 1

var origY // The original position
var distanceY // The distance it can move
var y = easeInQuart(deltaY, origY, distanceY, 1); 
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top