摘要:不论怎样嵌套,定位父级是谁,都是到达页面边缘的距离。原生的相对于定位的祖先节点的距离。后来添加的照样有事件,这是通过事件委托实现的。如果用普通写法,新添加的是没有事件的。一旦用时,一定要是用的。
元素的尺寸
width() height() ★★★★★
innerWidth() innerHeight() ★★★★★
outerWidth() outerHeight() ★★★★★
参数的作用
与原生JS的区别
元素尺寸的获取元素尺寸的设置 与原生JS获取尺寸的区别 div
$(function(){ alert($("#div1").get(0).offsetWidth); //0 原生的JS是获取不到隐藏元素的尺寸的 alert($("#div1").width()); //100 JQ是可以获取隐藏元素的尺寸的 })实战小技巧
可视区的尺寸
页面的尺寸
滚动距离可视区的尺寸 div
scrollTop() ★★★★★scr
ollLeft() ★
滚动距离
元素距离可视区的尺寸 div
offset() ★★★★★
left top
position() ★★★
left top
不认margin值
position到达页面的距离:offset()
alert($("#div2").position().left); //0
#div2 {width: 100px; height: 100px; position: relative; left: 50px; background: yellow;}实战小技巧
利用计算原理,得到相应值
offsetParent() ★
例子:懒加载页面中的图片
计算出到有定位的祖先节点的距离
懒加载图片
JQ的事件
on() ★★★★★
off() ★★★★★
JQ中都是绑定的形式
支持多事件写法
click()写法,也是采用off()取消
用off()取消事件jQuery中的事件 aaaaaa
Event对象jQuery中的事件 aaaaaa
常用性★★★★★
pageX, pageY 与cient的区别
which
target
stopPropagation()
preventDefault()
return false
which键盘键值jQuery中的event事件对象 aaaaaa
ev.target事件源jQuery中的event事件对象 aaaaaa
ev.stopPropagation() 阻止冒泡jQuery中的event事件对象 aaaaaa
ev.preventDefault() 阻止默认事件jQuery中的event事件对象 aaaaaa
return false 既阻止默认事件又阻止冒泡jQuery中的event事件对象 aaaaaa
JQ实战小技巧jQuery中的event事件对象 aaaaaa
多次添加on的处理方式
例子:拖拽效果
用jQuery实现拖拽效果多次添加on的处理方式 aaaaaaspan
事件委托 delegate() ★★★★★用JQ实现拖拽 div
委托的好处
ev.delegateTarget
事件委托
取消委托
trigger()比click()形式更强大
事件的命名空间
例子:主动触发的添加内容
事件的命名空间
事件的命名空间2事件的命名空间 div
工具方法事件的命名空间 div
教程网站
$.merge()$.type()
★★★★★比原生typeof更强大
$.type() div
$.isFunction() ★★★
$.isNumeric() ★★★
$.isArray() ★★★
$.isWindow() ★★★
$.isEmptyObject() ★★★
$.isPlainObject() ★★★
$.extend() ★★★★★对象继承操作
深拷贝操作
$.proxy() ★★★$.extend() 对象的拷贝
两处传参的的区别
$.proxy()改变this指向的用法
$.proxy改变this指向
用$.proxy()传参的用法
$.proxy改变this指向
JQ实战小技巧$.proxy改变this指向
利用This改指向,更加方便
$.proxy改变this指向
本课练习:登录弹窗效果
$.map()$.map方法也是用来遍历数组和对象,但是会返回一个新对象
$.grep()
$.unique()
$.inArray() divdivdiv
$.makeArray() divdivdiv
$.trim() divdivdiv
用于移除字符串头部和尾部多余的空格
$.trim(" Hello ") // Helloajax扩展 $.param() ★★★
serializeArray() divdivdiv
常用度★★★
load()
常用度 ★筛选的功能
$.getScript()
常用度★
$.getJSON
常用度★
JSONP,不受同源影响
建议直接使用问号
$(function(){ // $.getJson() 动态请求json或JsonP //直接用$.getJSON,我们就不需要再通过设置dataType: json了 $.getJSON("data.php", function(data){ console.log(data); }); //data.php返给我们的是一个json格式 })jsonp的形式
$.getJSON("data.php?callback=?", function(data){ //data.php返回的是jsonp的形式,我们就可以后面添上callback=? 注意其中callback是key值,而问号?是value值。一旦用getJSON时,一定要是用callback=?的。如果给callback指定了名称,那么返回的是字符串形式,并不是json形式,在getJSON里面就解析不了,所以就只能走error。所以在$.getJSON()里面给callback命名是没有意义的,一定要是用?才可以自动解析 console.log(data); }).error(function(err){ console.log(err); }); $.ajax({ //在使用ajax的时候,可以给callback自定义名称,例如下面定义了“show” url:"data.php?callback=show", success: function(data){ //返回的数据就是一个类似"show({name: "hello"})"的字符串,然后再后续处理进行使用 } }) //另外如果在$.ajax()中设置了datatype为"jsonp",那么在url的地方是不需要加callback的,因为它会自动添加好$.ajaxSetup()
常用度★
默认配置
$(function(){ //如果有很多ajax,那么可以利用$.ajaxSetup()来进行默认设置 $.ajaxSetup({ type: "POST" //那么所有的ajax传输类型都改为post了 }); })
全局事件
加到document上,参数的意义
$.ajaxStart() ★
$.ajaxStop() ★
$.ajaxSuccess() ★
$.ajaxError() ★
$.ajaxComplete() ★
$.ajaxSend() ★
属性 ★
Global, Context
JSONP, jsonpCallback
Cache, Timeout
processData
contentType
ajax参考资料
常用度★
防止库之间冲突
$.each()
常用度★★★
遍历
后退链式操作 end() addBack()
常用度★
JQ中的队列 queue().dequeue() divspan
概念与参数意义
队列名称
$(function(){ //$.queue() 三个参数:队列添加到哪个元素身上;队列的名字;第三个参数是一个函数 //$.dequeue() 两个参数:元素和队列名字 //JQ中的队列,存储的都是函数 //JQ的队列,当进行出队的操作的时候,会自动执行相应的函数 function a(){ alert(1); } function b(){ alert(2); } function c(){ alert(3); } $.queue(document, "myeve", a); $.queue(document, "myeve", b); $.queue(document, "myeve", c); $.dequeue(document, "myeve"); //弹1 $.dequeue(document, "myeve"); //弹2 $.dequeue(document, "myeve"); //弹3 })
queue() dequeue()
源码分析运动队列
默认队列名fx
队列的具体应用基本使用
基本使用
div
JQ中的回调对象 $.Callbacks() div
基本概念与用法
add
remove
fire
应用场景
四大参数
once
memory
unique
stopOnFalse
$(function(){ function a(){ alert(1); } function b(){ alert(2); } function c(){ alert(3); } var cb = $.Callbacks(); //回调对象 cb.add(a); //a添加到回调对象的集合里面 cb.fire(); //fire就是触发 弹出1 cb.add(b); cb.fire(); //弹出1和2 cb.add(c); cb.remove(b); cb.fire(); //弹出1和3 })
用回调对象来解决作用域的问题
$(function(){ var cb = $.Callbacks(); function a(){ alert(1); } (function(){ function b(){ alert(2); } cb.add(a); cb.add(b); })(); // a(); //弹1 //b(); //b这个函数是找不到的,因为作用域里面没它 cb.fire(); //弹1、2 })once
$(function(){ function a(){ alert(1); } function b(){ alert(2); } function c(){ alert(3); } //参数 once:只能触发一次 var cb = $.Callbacks("once"); cb.add(a); cb.add(b); cb.fire(); //弹1、2 cb.fire(); //因为添加了参数once,所以前面触发过一次之后,这里不再触发 })memory
$(function(){ function a(){ alert(1); } function b(){ alert(2); } function c(){ alert(3); } //参数 memory:不管前后添加的都一起触发 var cb = $.Callbacks("memory"); cb.add(a); cb.add(b); cb.fire(); //弹1、2、3,因为参数memory,让触发时不管前面后面add的都触发 cb.add(c); })unique
$(function(){ function a(){ alert(1); } function b(){ alert(2); } function c(){ alert(3); } //参数 unique:去重功能 var cb = $.Callbacks("unique"); cb.add(a); cb.add(a); cb.add(a); cb.add(b); cb.fire(); //弹1、2,而不是弹1,1,1,2 })stopOnFalse
$(function(){ function a(){ alert(1); } function b(){ alert(2); return false; } function c(){ alert(3); } //参数 unique:去重功能 var cb = $.Callbacks("stopOnFalse"); cb.add(a); cb.add(a); cb.add(b); cb.add(c); cb.fire(); //弹1,1,2 不谈3,因为在b里面碰到了false就不继续执行后面的函数c了 })参数的组合使用
$(function(){ function a(){ alert(1); } function b(){ alert(2); return false; } function c(){ alert(3); } //回调对象的参数可以组合使用 var cb = $.Callbacks("once memory"); cb.add(a); cb.add(a); cb.add(b); cb.fire(); //弹1,1,2,3 cb.add(c); cb.fire(); //什么也不弹 })JQ中的延迟对象
常用度★★★
$.Deferred()
基本概念与用法
与Callbacks()对比学习
应用场景
状态的定义
状态的映射 resolve, done reject, fail
ajax中的应用 $.when()
利用状态的应用
JQ插件编写 ★★★$.fn.extend() this指向
$.extend()
编写插件基本格式
分析jQuery.e-calendar
配置参数
方法
自定义事件
实例:编写选项卡插件
$.extend()与$.fn.extend() 扩展工具方法$(function(){ //$.trim是去掉左右空格,现在扩展一个只去左边空格的方法 $.extend({ leftTrim: function(str){ //this : 工具方法中 this与$等价 return str.replace(/^s+/g,""); } }); var str = " hello "; alert("(" + $.leftTrim(str) + ")"); })扩展实例方法
选项卡插件 div1div2div3
Sizzle选择器 ★★★编写选项卡的插件
介绍与实现接口
$() -> find()
通用选择 *
层级选择 > + ~
基本筛选 :
animated
:eq()
:even
:odd
:first
:last
:gt()
:lt()
内容筛选
:contains()
:empty
:parent
可见性筛选
:hidden
:visible
子元素筛选
:first-child
:last-child
:first-of-type
:last-of-type
:nth-child()
:nth-of-type()
:only-child
:only-of-type
表单筛选
:button
:checkbox
:radio
:checked
:disabled
:enabled
:selected
筛选方法 ★filter()
not()
has()
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/79373.html
摘要:而过去发生的一切,恍若昨天我一直都有个计划每隔半年写一篇总结以记录我的大学生活,回看过去,总结不足,这便是我当初写这个专题的目的。在大一结束的时候,我也写过一篇一年总结记我的大一生活。 ...
摘要:一场因阿里云故障引发的突发事件,导致他所在的互联网金融公司几近瘫痪。此次事故从点分至点分,时长约一小时。对此,阿里云方面不予置评。但阿里云相关负责人向新浪科技表示,赔偿问题将按照相关服务保障条款进行处理。 6月27日晚,北京国贸写字楼2座灯火通明。林晓宇疾步往返于运维部与研发部的走廊上,表情有些凝重。 一场因阿里云故障引发的突发事件,导致他所在的互联网金融公司几近瘫痪。在运维部工作近一年,...
摘要:曾经霸主的下降最为严重,直接惨跌,跌落第,也持续跌落,前大语言中只有是保持正增势的势头。时代的语言作为人工智能和大数据的支持语言,已经成为头牌语言。根据调查显示,的企业在面临拟定策略时,常常无法获得实时且有根据的决策信息。 妥妥的,作为编程界的老大,Python又一次霸榜了!!! 今年6月份,PYPL最新报告已经出炉了,Python持续称王的脚步已经无人能阻止了!话不多说,我们来看报告...
摘要:曾经霸主的下降最为严重,直接惨跌,跌落第,也持续跌落,前大语言中只有是保持正增势的势头。时代的语言作为人工智能和大数据的支持语言,已经成为头牌语言。根据调查显示,的企业在面临拟定策略时,常常无法获得实时且有根据的决策信息。 妥妥的,作为编程界的老大,Python又一次霸榜了!!! 今年6月份,PYPL最新报告已经出炉了,Python持续称王的脚步已经无人能阻止了!话不多说,我们来看报告...
摘要:华为轮值董事长徐直军对外宣称,华为今年的收入将首次突破亿美元大关,好于预期。而今年下半年华为动作频繁,在接下来的一个月想要全年总营收破千亿美元大关并不是难事。从华为目前的几大业务线看,推动其营收增长最大功臣莫过于消费者业务了。华为轮值董事长徐直军对外宣称,华为今年的收入将首次突破1000亿美元大关,好于预期。但具体业务增长情况,徐直军并未做过多透露。相关数据统计显示,去年全年,华为总营收为9...
阅读 2572·2021-11-23 09:51
阅读 3122·2019-08-30 15:54
阅读 1074·2019-08-30 14:14
阅读 3545·2019-08-30 13:59
阅读 1396·2019-08-29 17:09
阅读 1469·2019-08-29 16:24
阅读 2850·2019-08-29 15:43
阅读 912·2019-08-29 12:45