位置: 编程技术 - 正文
推荐整理分享jQuery链式调用与show知识浅析(ajax链式调用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:jquery链式操作原理,jquery 链式调用,jq的链式调用,js实现链式调用函数,链式操作是jquery代码的风格之一,jquery链式操作原理,jquery链式操作原理,jq的链式调用,内容如对您有帮助,希望把文章链接给更多的朋友!
上篇文章给大家介绍了jQuery的框架,有关jquery的基础知识可以参考下。
jQuery使用许久了,但是有一些API的实现实在想不通。下面将使用简化的代码来介绍,主要关注jQuery的实现思想。
相较于上一篇,代码更新了:~
先拿hide函数热身一下。如上篇提到的,jQuery会将获取到的nodeList处理成数组,所以一上来,我们用forEach处理数组里的每一个node节点。
接下来,我们只需要将每一个节点的style.display置为'none'即可隐藏。很简单,对吧?(⊙0⊙) 。oldDisplay和return this先不管?( ̄? ̄)?
其中isHidden是判断该元素是否隐藏:已经隐藏的元素就没必要再去处理了,直接跳过
--------------------------
接下来,来个稍繁琐的show。先抛出一个问题来引发一系列问题:
hide某个元素只需要将display:none,那么show呢?
display:block不就行了吗?这样确实可以将元素显示出来。但是万一元素原来的值是display:inline呢?
那在hide处保存原来的值不就行了吗?就像以下的代码:
要是执行show前没有不执行hide呢?比如下面这种情况,不就没有oldDisplay了吗(⊙0⊙)
好,关键的地方到了:我们获取元素display的默认值就可以了吧?比如div默认是block,span默认是inline。
思路有了,那么接下来的问题是:如何获取元素display的默认值?
嘿嘿嘿,想不到吧?这里需要用点小技巧,大体思路如下:通过nodeName创建一个新的标签,再获取。
有个地方可以再优化一下,getDisplay获取到元素display默认值后,可以使用jQuery的cache机制存起来(实际上jQuery也是这么做了)。
然后,综合这两种情况:
以为这样就结束了?NO,show函数的情况还是挺复杂的,我们大致要应对这几种情况:
最终,show函数变成了这鬼样ψ(?_?)。大致思路如下:
--------------------------
链式调用就是类似这种情况:
实现起来非常简单,只要在每个函数后面return this即可
--------------------------
有同学说:喂!这个show,hide不对吧?是不是漏了时间参数? 用setTimeOut自己实现吧~>_<~+。
本节最主要是让大家知道jQuery需要考虑的情况非常多(很多脏活)。即时简化了代码,依然还是这么长。
写完后,发现show还有一种情况没考虑:
jQuery的框架介绍 jQuery使用有一段时间了,但是有一些API的实现实在想不通。小编参考相关资料源码,现在把我的学习过程和收获分享给大家。下面将使用简化的代码来
基于jQuery插件实现点击小图显示大图效果 本文实例为大家分享了基于jQuery实现点击小图显示大图效果,供大家参考,具体内容如下显示以下效果:点击任意一张图片会显示大图:1、前台界面%@Pa
Jquery插件仿百度搜索关键字自动匹配功能 本文实例为大家分享了Jquery搜索关键字自动匹配功能的实现代码,供大家参考,具体内容如下jQueryAutoComplete是一个基于jQuery实现搜索关键字自动匹配提
标签: ajax链式调用
本文链接地址:https://www.jiuchutong.com/biancheng/386545.html 转载请保留说明!友情链接: 武汉网站建设