javascript第二十天jquery插件和zepto
复习:jsonp跨域 只能使用get方法, 如果一定要使用post方法跨域,cors跨域可以解决
jQuery的插件 和 zepto
- jQuery的插件
(1) jQuery的插件必须在引入jQuery之后 才能使用
(2) jQuery插件分类
① 类级别插件
1) 用法:$.extend({
方法名1:function(){},
方法名2:function(){},
........
})
2) 上述是封装类级别插件的方式,封装好之后 如果想使用,可以直接使用$调用
- $.方法名1() $.方法名2()
② 对象级别插件
1) $.fn.extend({
方法名1:function(){},
方法名2:function(){},
.......
})
2) 上述是封装对象级别插件的方式,封装好之后 如果想使用,可以使用jQuery对象调用方法
- Jquery对象.方法名1() jquery对象.方法名2()
3) Jquery对象级别的插件方法中 this 指向的 是 调用方法的 jQuery对象
- 链式编程 原理
(1) jQuery中的方法之所以可以链式调用,是因为绝大多数jQuery方法的返回值 就是调用自己的jQuery对象,这样就可以链式调用其他方法,
(2) 但是还有一小部分方法 他们的返回值 不是jQuery对象 例如css text html val等方法在获取的时候 返回值 就是获取到的值,就不能链式调用其他方法
(3) 只有jQuery对象货jQuery对象级别插件中的方法 才具备链式调用的功能。
- 第三方插件
- Zepto
(1) 是一个专门用来开发移动端的类库,
(2) 优点:
① 轻量级 压缩之后 是 9.6k
② 学习成本低,支持绝大多数jQuery的方法。
(3) 模块化类库
① Zepto会自带五个模块 core ajax event form ie
② 如果需要进行其他操作 需要引入新的模块 如果要开发移动端项目 必须引入touch模块
(4) Zepto和jQuery的区别
① Zepto的width方法 包含 自身宽度 + padding + border,如果隐藏元素,获取到的值就是0。
② 在zepto中 不存在 innerWidth 和 outerWidth这两个方法
③ 在zepto中 offset获取的是元素 距离 页面 顶部 和 左侧的距离 以及 自身的宽高
(5) Zepto控制的移动端事件
① 单击:tap
② 双击:doubleTap
③ 长按:longTap
④ 滑动:swipe
⑤ 左滑:swipeLeft
⑥ 右滑:swipeRight
⑦ 上滑:swipeUp
⑧ 下滑:swipeDown
浙公网安备 33010602011771号