位置: 编程技术 - 正文
推荐整理分享Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready(jquery animate源码),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:jquery.min.js源代码,jquery animate源码,jquery源码分析,jquery源码分析,jquery.min.js源代码,jquery源码实现原理,jquery源码是什么水平,jquery源码实现原理,内容如对您有帮助,希望把文章链接给更多的朋友!
还记不记得jQuery初始化函数jQuery.fn.init中有这样是一个分支
很明显在jQuery.ready.promise函数中设置了延时,当延时对象解决的时候执行fn函数。
主要的处理流程:
创建一个延时对象,并将文档准备好后的处理事件添加到该延时对象成功事件列表上。
添加文档准备状态的监听函数(jQuery.ready.promise函数片段)
一旦监听到文档准备完成,则调用jQuery.ready执行延时对象的成功回调列表:即所有通过jQuery.ready(fn)【或jQuery(fn)】方式添加的函数fn。
整个过程就是如此。其中有一些小的知识点整理一下。
a. 文档加载状态document.readyState
document.readyState用来判断文档加载状态,是一个只读属性,可能的值有:
0-uninitialized:XML 对象被产生,但没有任何文件被加载。 1-loading:加载程序进行中,但文件尚未开始解析。 2-loaded:部分的文件已经加载且进行解析,但对象模型尚未生效。 3-interactive:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。 4-complete:文件已完全加载,代表加载成功。
实例:
但是,老版本的Firefox并不支持document.readyState【最新的Firefox已经支持了】。所以想要兼容所有浏览器监听文档准备完成分两种情况来处理:
- 标准浏览器使用addEventListener添加DOMContentLoaded和load监听,任何一个事件被触发即可
- 老版本IE浏览器使用attachEvent添加onreadystatechange和onload来监听,任何一个被触发,并且onreadystatechange时document.readyState === "complete"即可。
jQuery的处理也就是如此了
b.doScroll检测文档加载完成
这是Diego Perini 发现的一种检测IE是否加载完成的方式。详细链接
原理是当页面 DOM 未加载完成时调用 doScroll 方法时会产生异常。那么不断的取检测异常是否发生就可以知道文档有没有加载完成。当没有发生异常,表明文档加载完成了。
以上所述是积木网小编给大家介绍的Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready的全部内容,希望大家喜欢。
基于jquery实现日历签到功能 在一些任务游戏、贴吧管理中都会有一个签到功能,帮助大家记录登录天数,积累等级经验,这个日历签到功能是如何实现的,本文为大家进行演。本
jQuery实现带分组数据的Table表头排序实例分析 本文实例讲述了jQuery实现带分组数据的Table表头排序。分享给大家供大家参考,具体如下:如下图:要求:点击表头排序时,"分组"及"分组明细"的数据
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理 发现一个小点,先前没有注意的stopPropagation:function(){vare=this.originalEvent;...if(e.stopPropagation){e.stopPropagation();}jQuery重载stopPropagation函数调用的本地事件对象
标签: jquery animate源码
本文链接地址:https://www.jiuchutong.com/biancheng/373821.html 转载请保留说明!友情链接: 武汉网站建设