源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Jquery插件写法笔记整理

  • 时间:2020-07-14 05:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Jquery插件写法笔记整理
jQuery插件类型: [b]1. jQuery方法:[/b] 大部分jQuery插件都是这种类型的插件,由于这种插件是将对象方法封装起来,在jQuery选择器获取jQuery对象过程中进行操作,从而发挥jQuery强大的选择器优势。 [b]2. 全局函数:[/b] 也可以把自定义的功能函数独立附加到jQuery命名空间下,从而作为jQuery作用域下的一个公共函数使用。但全局函数没有被绑定到jQuery对象上,故不能在选择器获取的jQuery对象上调用。需要通过jQuery.fn()或$.fn()方式进行引用。 [b]3. 选择器:[/b] 觉得jQuery提供的选择器不够用,或不方便的话,可以考虑自定义选择器。 [b]jQuery插件机制: [/b]① jQuery.extend()方法:能够创建全局函数或选择器。 By:所谓全局函数,就是jQuery对象的方法,实际上就是位于jQuery命名空间内部的函数,有人把这类函数称为实用工具函数,这些函数都有一个共同特征,就是不直接操作DOM元素,而是操作Javascript的非元素对象,或者执行其他非对象的特定操作,如jQuery的each()函数和noConflict()函数 例:在jQuery命名空间上创建两个公共函数
[u]复制代码[/u] 代码如下:
jQuery.extend({ minValue : function(a,b){ return a<b?a:b; }, maxValue : function(a,b){ return a<b?b:a; } }) $(function(){ $("input").click(function(){ var a = prompt("请输入一个数值?"); var b = prompt("请再输入一个数值?"); var c = jQuery.minValue(a,b); var d = jQuery.maxValue(a,b); alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); }); }) <input type="button" value="jQuery插件扩展测试" />
※ jQuery.extend()方法除了可以创建插件外,还可以用来扩展jQuery对象。 例如:调用jQuery.extend()方法把对象a和对象b合并为一个新的对象,并返回合并对象将其赋值给变量c
[u]复制代码[/u] 代码如下:
var a = {name : "zhu",pass : 123} var b = {name : "wang",pass : 456,age : 1} var c = jQuery.extend(a,b); $(function(){ for(var name in c){ $("div").html($("div").html() + "<br />"+ name + ":" + c[name]); } })
例:创建jQuery全局函数
[u]复制代码[/u] 代码如下:
jQuery.css8 = { minValue : function(a,b){ return a<b?a:b; }, maxValue : function(a,b){ return a<b?b:a; } } $(function(){ $("input").click(function(){ var a = prompt("请输入一个数值?"); var b = prompt("请再输入一个数值?"); var c = jQuery.css8.minValue(a,b); var d = jQuery.css8.maxValue(a,b); alert("你输入的最大值是:" + d + "\n你输入的最小值是:" + c); }); })
By:如果要向jQuery命名空间上添加一个函数,只需要将这个新函数制定为jQuery对象的一个属性即可。其中jQuery对象名也可以简写为$,jQuery.css8==$.css8 ② jQuery.fn.extend()方法:能够创建jQuery对象方法。 例:来个最简单的jQuery对象方法
[u]复制代码[/u] 代码如下:
jQuery.fn.test = function(){ alert("这是jQuery对象方法!"); } $(function(){ $("div").click(function(){ $(this).test(); }); })
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部