前端充斥着大量的异步操作,动画就是异步的逻辑,七夕主题的整个设计都是以小男孩走路为主线。在走到不同的路段就会有不同的操作,走路是通过CSS3的transition与animation结合完成的,所以针对这类异步的处理我采用了jQuery的Deferred封装起来。
除此之外,在整个结构中都是采用面向接口编程,简单的说就是将行为分布在各个对象中,并让这些对象自己各自负责自己的行为。那么小孩男的整个行为逻辑我都将会封装成一个独立的对象,通过接口调用
说了半天,我们看右边的代码最直接,我单独用了个BoyWalk.js把小男孩的动作给封装了起来,暴露了walkTo、stopWalk、setColoer三个接口,提供给外部调用。 接口的命名与数量是需要根据具体的业务逻辑的需要,随着人物的动作变化的增加,接口也会增加
以小男孩走路为变化,不同的路段有不同的速率与距离,所以会提供一个走路的walkTo接口给外部。在第三章的时候我把走路动作的一些细节与实现都分解了一遍,这里主要看下怎么融入Deferred的处理
index.html中的代码调用,可以这样理解:
通过加入Deferred的处理,让我们的流程就跟同步一样,这件事完成了就开始下一件事,非常合适人类的线性编程的逻辑,之后的整个流程都会基于then的方式书写
打开index.html文件,在代码的68行填入相应代码,可以观察到之后的更多动作
.then(function() { //第二次走 return boy.walkTo(2000, 0.4) }).then(function() { //第二次走路完成 boy.setColoer('yellow') }).then(function() { //第三次走路 return boy.walkTo(2000, 0.6) }).then(function() { //第三次走路完成 boy.setColoer('blue') });
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报
实战
实战
实战
实战
实战