jQuery 动画其实原理上本身是不复杂的。量变产生质变,参杂了大量的设计技巧,同时通过扩展大量的便捷方式加大了逻辑上的难度,我们这章深入的认识下 jQuery 的 API 的具体的含义以及实现上的一些细节。
jQuery 动画是通过 animate 这个 API 设置执行的,其内部也是按照每一个 animate 的划分封装了各自动画组的行为,包括数据过滤、缓动公式、一些动画默认参数的设置、元素状态的调整、事件的处理通知机制、执行等等,换句话说,我们可以把 animate 看作一个对象,对象封装自己的一系列属性与方法,jQuery 可以支持连续动画,那么 animate 与 animate 之间的切换就是通过队列 queue,这个之前就已经详细的解释过了。
动画的参数
jQuery的内部的方法都是针对 API 的处理范围设计的,我们看看 Animation 方法的支持情况:
.animate( properties [, duration ] [, easing ] [, complete ] ) .animate( properties, options )
简单的来说,就是把一对的参数丢到 animate 方法里面,然后 animate 就开始执行你参数规定的动画了,那么动画每执一次就会通过回调通知告诉开发者,具体有 complete/done/fail/always/step 接口等。
理解定义(代码参考右边)
book.animate({ opacity: 0.25, left: '50', height: 'toggle' }, { duration :1000, specialEasing: { height: 'linear' }, step: function(now, fx) { console.log('step') }, progress:function(){ console.log('progress') }, complete:function(){ console.log('动画完成') } })
首先,动画的参数都是最终值,都是相对数据。
如上 div 元素的起始:
初步理解 API 的一些设置后,我们下一节研究下动画的变换算法。
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报