这是easeOutBounce的方法
easeOutBounce: function (t, b, c, d) {
if ((t/=d) < (1/2.75)) {
return c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
} else if (t < (2.5/2.75)) {
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
} else {
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
}
我想制作自己的自定义方法,不能使用jquery或其他库。
其中t:时间,b:开始位置,c:位置的总变化,d:持续时间 任何人都可以解释我如何将此方法用于easeOutBounce值?我的意思是我将作为参数传递,以及我将如何使用返回值?
答案 0 :(得分:2)
使用jQuery,您可以在任何动画中调用此事件。确保包含相关的JS文件并添加如下内容:
$('#your-div').click(function() {
$(this).animate({height: "100px"}, 500, 'easeOutBounce');
});
答案 1 :(得分:0)
非常古老的问题,但是对于任何偶然发现它的人(就像我刚刚做的那样)并且由于它不需要使用库,我觉得这需要另一个答案。
我刚刚解决了同样的问题,我不知道javascript,但这也可能适用。我正在做的是:
以您觉得舒服的时间间隔重复执行该方法。值越低,动画越流畅,但它对系统的负载就越大。
使用以下参数:
b = 0
c = 1
d =某个时间单位的动画持续时间
t =自同一时间开始以来经过的时间
返回的值将是介于1和0之间的数字.0表示它位于起始位置,1表示它位于结尾处。从这里开始,您需要做的就是将它乘以每个坐标的总距离,并将该值添加到每个当前坐标值,以便在动画期间将对象放置在正确的位置。
更多信息:
这个link对我理解这些功能非常有用。