easing 是jquery.animate(properties,[duration],[easing],[complete])中的一个属性,用来设定过渡效果的名称。
如果在项目要使用特殊的动画效果,则需要在引入jquery.js 后引入
jquery.easing.js 。
引入之后,easing参数可选的值就有以下32种:
linear
swing
easeInQuad
easeOutQuad
easeInOutQuad
easeInCubic
easeOutCubic
easeInOutCubic
easeInQuart
easeOutQuart
easeInOutQuart
easeInQuint
easeOutQuint
easeInOutQuint
easeInExpo
easeOutExpo
easeInOutExpo
easeInSine
easeOutSine
easeInOutSine
easeInCirc
easeOutCirc
easeInOutCirc
easeInElastic
easeOutElastic
easeInOutElastic
easeInBack
easeOutBack
easeInOutBack
easeInBounce
easeOutBounce
easeInOutBounce
而在项目中一般用不到如此多的效果,所以为了减少代码冗余,我们可以只把需要的几种easing放在js文件中,如下:
$.extend( jQuery.easing ,{
flyFastSlow: function (x, t, b, c, d) {
return -c * ((t=t/d-1)*t*t*t - 1) + b;
}
});
在jquery 1.4中,对animate()方法进行了扩展,支持为每个属性置顶easing方法:
$(myElement).animate({
left: [500, 'swing'],
top: [200, 'easeOutBounce']
});
也可以用另外一种写法:
$(myElement).animate({
left: 500,
top: 200
}, {
specialEasing: {
left: 'swing',
top: 'easeOutBounce'
}
});
使用jQuery内置动画函数如slideUp()、slideDown()等来指定easing效果,以下两种方法都可以:
$(myElement).slideUp(1000, method, callback});
$(myElement).slideUp({
duration: 1000,
easing: method,
complete: callback
});