我有一个侧面滚动的网站在jQuery控制之下,几个页面相隔数千像素,水平。我正在使用easeOutElastic函数,但动画发生的速度很快,弹性反弹需要被抑制。如果我增加持续时间参数,动画会减慢,但反弹也会减慢。看起来持续时间控制着整个动画。自定义jQuery easeOutElastic函数
我需要做的是分别控制移动的速度和弹性的紧密程度。我一直在摆弄与插件我认为easeOutElastic功能的自己的副本,但我似乎无法得到它的权利,不知道什么所有的参数是:
easeOutElastic: function (x, t, b, c, d) {
var s=1.70158;
var p=0;
var a=c;
if (t==0) return b;
if ((t/=d)==1) return b+c;
if (!p) p=d*.3;
if (a < Math.abs(c)) {
a=c;
var s=p/4;
}else{
var s = p/(2*Math.PI) * Math.asin (c/a);
}
return a*Math.pow(2,-10*t) * Math.sin((t*d-s)*(2*Math.PI)/p) + c + b;
}
任何一个可以告诉我的参数是什么: x,t,b,c,d代表?
我认为(跟踪功能):
t = time // passed from the duration
d = distance // calculated from the current and move to positions passed from the css
它看起来当t == 0缓和函数执行完毕喜欢,但是我真正需要的是一个函数返回时,运动的速度低于某个阈值,而不是等待时间到期。但速度在哪里计算? (s?)
任何帮助你可以破译这将是伟大的!
你可能喜欢这篇文章.. http://www.brianwald.com/journal/creating-custom-jquery-easing-animations – commonpike