11.4 多属性缓动
showDetails()
函数基本实现我们最初设想的“展开”效果,但因为top
和left
属性的动画速度相同,看起来还是有点像“滑入”效果。只要把top
属性的缓动函数修改为easeInQuart
,就可以改变一下效果;也就是让元素以曲线的方式运动,而不是径直地出来。不过别忘了,使用非swing
和linear
的任何缓动函数都需要插件,比如jQuery UI(http://jqueryui.com/),参见代码清单11-8。
代码清单11-8
$member.find('div').css({
display: 'block',
left: '-300px',
top: 0
}).each(function(index) {
$(this).animate({
left: 0,
top: 25 * index
}, {
duration: 'slow',
specialEasing: {
top: 'easeInQuart'
}
});
});
通过specialEasing
选项可以为每个要应用动画的属性设置不同的加速度曲线。任何没有包含在这个选项中的属性,都会使用easing
选项中指定的缓动函数——如果提供了的话;否则,就要使用默认的swing
函数。
现在,我们就做好了一个非常有吸引力的动画效果,能够优雅地展示每个人的详细信息。可是,还没有显示每个人的简介啊!在讨论怎么显示每个人的简介之前,我们还得稍微跑跑题,先介绍一下jQuery延迟对象机制。