jQuery之模拟实现$().animate()(上)

jQuery之模拟实现$().animate()(上)
文章图片
根据上图实现除doAnimation外的逻辑:

jQuery之$().animate()的实现 - 锐客网这是A

jQuery之模拟实现$().animate()(上)
文章图片
解析:
(1)匿名函数自调用的参数:
(function(a){ console.log(a) //name })('name')(function (b) { console.log(b) //function(){console.log('name')} })(function () { console.log('name') })

(2)快速匹配id选择器
//匹配ID let rquickExpr = /^(?:#([\w-]*))$/;

(3)inprogress是动画锁
当第一个动画执行时,向Queue中添加锁inprogress,阻止异步调用动画,也就是要求同步执行动画,当动画结束时,移除锁,调用下一个动画。
(4)transitionend
transitionend事件在 CSS 完成过渡后触发,这里当做单个动画完成的信号,触发后,会告知下个动画进行
下图的实现将在下篇文章贴出:
jQuery之模拟实现$().animate()(上)
文章图片
jQuery之模拟实现$().animate()(上)
文章图片
【jQuery之模拟实现$().animate()(上)】(完)

    推荐阅读