如何使用这个easeOutBounce方法?

时间:2010-06-01 12:16:20

标签: javascript animation

这是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值?我的意思是我将作为参数传递,以及我将如何使用返回值?

2 个答案:

答案 0 :(得分:2)

使用jQuery,您可以在任何动画中调用此事件。确保包含相关的JS文件并添加如下内容:

$('#your-div').click(function() {
  $(this).animate({height: "100px"}, 500, 'easeOutBounce');
});

答案 1 :(得分:0)

非常古老的问题,但是对于任何偶然发现它的人(就像我刚刚做的那样)并且由于它不需要使用库,我觉得这需要另一个答案。

我刚刚解决了同样的问题,我不知道javascript,但这也可能适用。我正在做的是:

  1. 以您觉得舒服的时间间隔重复执行该方法。值越低,动画越流畅,但它对系统的负载就越大。

  2. 使用以下参数:
    b = 0
    c = 1
    d =某个时间单位的动画持续时间
    t =自同一时间开始以来经过的时间

  3. 返回的值将是介于1和0之间的数字.0表示它位于起始位置,1表示它位于结尾处。从这里开始,您需要做的就是将它乘以每个坐标的总距离,并将该值添加到每个当前坐标值,以便在动画期间将对象放置在正确的位置。

  4. 更多信息:

    这个link对我理解这些功能非常有用。