位置: 编程技术 - 正文

jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween(jquery源码下载)

编辑:rootadmin

推荐整理分享jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween(jquery源码下载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery animate源码,jquery源码是什么水平,jquery源码分析,jquery fadein 源码,jquery fadein 源码,jquery fadein 源码,jquery.min.js源代码,jquery源码是什么水平,内容如对您有帮助,希望把文章链接给更多的朋友!

在jQuery内部函数Animation中调用到了createTweens()来创建缓动动画组,创建完成后的结果为:

  可以看到上面的缓动动画组有四个原子动画组成。每一个原子动画的信息都包含在里面了。

  仔细查看createTweens函数,实际上就是遍历调用了tweeners ["*"]的数组中的函数(实际上就只有一个元素)。

  再次查看这个tweeners ["*"][0]函数,主要代码如下

  可以看出除了hide/show两种动画外的其他动画都经过tweeners ["*"][0]这个函数封装了动画组。其中有几个关键的数组start/end/unit。特别是对非像素单位的动画start值获取费了一番功夫。

  还有一个比较关键的地方是都用了this.createTween获取单个css特征的基础的动画特征。而animation. createTween中直接调用jQuery.Tween来处理。接下来我们详解之。

a.jQuery.Tween

--------------------------------------------------------------------------------

  jQuery.Tween的结构和jQuery类似

  是不是有一种很熟悉的赶脚。

  里面cur函数用来获取当前的css特征值

  而run函数则会在每个动画时间点上对正在进行的动画的每个特征值进行处理。

  主要是两个步骤:

  1.计算动画当前进度pos和动画当前位置now

  2.根据当前进度情况设置css特征值

jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween(jquery源码下载)

  可见生成缓动动画这一步处理才是整个动画的核心:

  创建缓动动画组,每一个原子动画都包含了每一个原子css属性动画的各种必要参数以及动画函数

  不同的是hide/show直接在defaultPrefilter中创建了这个缓动动画组(所有的属性都默认是px单位),其他的动画在调用createTweens时创建缓动动画组。

  还记不记得在创建动画的时候有个tick函数,这个tick函数会在每隔一个步长的时间调用一次

  看到没,每一个原子动画有自己的run函数来执行自己的动画,这在创建缓动动画组的时候就建好了的。

好了,整理一下动画的整个核心流程:

  1.先根据参数调用jQuery.speed获取动画相关参数,得到一个类似如下的对象;并且生成动画执行函数doAnimation使用.queue压入队列并马上执行

  2.doAnimation中调用创建一个延时对象,使用延时对象的promise方法构造一个动画对象animation(延时对象+动画特征列表),最后给animation添加动画执行完成后的回调函数。

  3.调用jQuery内部函数proFilter修正css特征名以便能被当前浏览器识别,并将某些复合css特征分解(比如padding分解成paddingTop / Right/ Bottom/ Left).

  4.调用jQuery内部函数defaultPrefilter做动画能够正常运行前提条件修正:比如对height/width动画display和overflow需要特定的值。特别需要注意的是

对于show/hide动画,在之前就调用genFx将需要执行动画的css特征提取了出来,在defaultPrefilter函数里直接调用动画对象animation.createTween给每一个CSS动画属性添加对应的缓动动画对象(包括动画参数和动画函数如run)压入缓动动画组animation.tweens中

  5.调用jQuery内部函数createTweens将除开show/hide之外的动画每一个css动画特征使用animation.createTween创建缓动动画对象(包括动画参数和动画函数如run),压入缓动动画组animation.tweens中

  6.启动动画计时,在每个时间点上执行tick函数来给相应的css特征值设置运动值。

  其中css特征值运动的进度百分比是

  得到的percent是符合时间规律的。代入这个percent设置准确的css特征值,以刷新动画显示。

  8.动画完成后调用动画完成回调。

关于小编给大家分享的jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween 全部内容就到此结束了,有问题欢迎给我留言我会在第一时间和大家取得联系的。

ztree获取选中节点时不能进入可视区域出现BUG如何解决 zTree是一个依靠jQuery实现的多功能树插件。优异的性能、灵活的配置、多种功能的组合是zTree最大优点。zTree的特点编辑●zTreev3.0将核心代码按照功能进

jQuery 1.9.1源码分析系列(十五)之动画处理 首先需要有队列(queue)的基本知识。见上一章。相关教程:jQuery下的动画处理总结:

详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题 最近做了个项目,其中有一目录功能,发现一个在现代浏览器间的一个bug,或是称之为差异,即页面滚动值(scrollTop)的获取与设定。在此之前先说一下关

标签: jquery源码下载

本文链接地址:https://www.jiuchutong.com/biancheng/376192.html 转载请保留说明!

上一篇:jQuery实现获取绑定自定义事件元素的方法(jquery绑定keyup)

下一篇:ztree获取选中节点时不能进入可视区域出现BUG如何解决(ztree getnodebytid)

  • 收到投资款要交企业所得税吗为什么
  • 对本次疫情有什么看法
  • 持有待售流动资产如果说以历史成本计量的时候怎么弄
  • 月初结存材料成本差异
  • 消费税的计税方法
  • 取得农产品流通环节免税发票可以扣抵吗?
  • 金税三期如何报个税
  • 需要预缴增值税
  • 公司三季度亏损20个亿这股票值得买吗
  • 提供出口收汇核算方法
  • 一般纳税人增值税申报操作流程
  • 公司收到个人借款的现金流量
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 关联公司代付款协议
  • 可供出售金融资产发生减值会计处理
  • 销售退回如何做账
  • ai自动生成代码
  • 代扣代缴返还的手续费科目
  • PHP:xml_parser_set_option()的用法_XML解析器函数
  • linux和windows的区别和联系
  • php推送微信公众号客户消息
  • 关闭固定在任务栏的功能
  • UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
  • 预收账款什么时候确认
  • 房地产企业用开发产品对外投资涉及税收
  • 收到保险公司的车赔款会计分录怎么写
  • 注销库存股的会计分录怎么理解
  • 租金没有收进来,房产税要交吗
  • cookie验证和token验证的区别
  • 电子承兑兑现手续费
  • 商业折扣影响入账金额吗
  • 企业员工的工资设定标准
  • php写文件函数
  • 基建账如何并入会计科目
  • vue的一些面试题
  • 给员工期权和给股票的区别
  • 广告费和业务招待费扣除标准中的全年销售收入是指
  • 拨出专款年末结转
  • 流动资产的含义及常见项目
  • 物业公司代收水费账务处理
  • 应交增值税的账务处理有哪两种
  • 总公司与分公司合作协议范本
  • 生活办公用品清单
  • python的用途
  • php注册系统
  • 预提工资的会计处理
  • 计提坏账准备方法变更属于会计估计变更吗
  • 小规模纳税人要报个人所得税吗
  • 向银行申请银行汇票
  • 职工福利费允许扣除比例
  • 增值税最高开票限额
  • 一般纳税人收到的普票可以抵扣吗
  • 企业付的房租税费会计分录
  • 贴现凭证的分录
  • 企业支付给其他单位的奖励款需要纳税调整么
  • 培训费发票可以抵扣吗
  • 固定资产出售算营业收入吗
  • 应交税费月底怎么结账
  • 资产处置收益和资产减值损失区别
  • sql 判断数据是否存在
  • windowsxp文件
  • centos san
  • imac 2010 cpu
  • 电脑光驱怎么装系统w7
  • linux扫描硬件
  • win10系统经常弹出广告页面怎么解决
  • 代码sd是什么意思
  • 中间件 .net
  • 创建一个批处理文件,其功能是在当前
  • js 图片压缩库
  • javascriptj
  • jquery倒计时代码
  • easyui怎么用
  • jquery实现ajax加载超时提示的方法
  • javascript面向对象精要pdf下载
  • python数据类型总结
  • javascript 对象的this指向
  • 医院缴纳什么税
  • 税务一体化监督起主导作用的是
  • 政治部副主任是干嘛的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设