打造自己的jQuery插件入门教程


Posted in Javascript onSeptember 23, 2016

本文实例讲述了打造自己的jQuery插件的方法。分享给大家供大家参考,具体如下:

写js插件并不麻烦,js插件有两类,类型插件和对象插件。首先举例:

$.post(url);

这个是类型插件,换句话说该插件在调用的时候不需要指定对象。那么:

$('p').click();

这个是对象插件,也就是说使用该插件的时候需要指定对象。

在写jQuery插件的时候,都是有固定的模板:

jQuery.plugin1 = function(text) {
  alert(text);
};//类型级别框架,类似 $.post();
$.fn.plugin2 = function(options) {
  var defaults = {
    text: 'Hello, world!'
  };
  // 合并默认值
  var opts = $.extend(defaults, options);
  // 你的代码写到这里
  alert(opts.text);
};//对象级别框架,类似 $(this).click();

以上就是plugin1是类型级别插件用的时候直接调用就可以了,plugin2是对象级别框架,使用的时候也需要对象。

在写类型级别框架的时候,jQuery.plugin1中的jQuery.不能省略,同样在写对象级别框架的时候,$.fn.也是不能省略的。

这里我要说的时候对象级别框架中 var opts = $.extend(defaults, options);这句话一定要有,这句话的意思就是合并参数。当用户没有设置参数的时候使用默认值中的参数,否则就用用户设置的参数。下面我们看一下调用方法:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="./myplugin.js"></script>
<script type="text/javascript">
$.plugin1('Hello');
$(document).ready(function(){
  $('#tmp').click(function(){
    $(this).plugin2({
      text: 'https://3water.com'
    });
  });
});
</script>

首先在使用自己的jQuery插件的时候,需要包含进来,同时之前要包含jQuery,你懂的。后面就是调用方法了哦!

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 Javascript
javascript 闭包疑问
Dec 30 Javascript
封装html的select标签的js操作实例
Jul 02 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
jQuery is()函数用法3例
May 06 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
JS 终止执行的实现方法
Nov 24 Javascript
jQuery排序插件tableSorter使用方法
Feb 10 Javascript
js获取当前周、上一周、下一周日期
Mar 19 Javascript
JavaScript实现滑动导航栏效果
Aug 30 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
layer 刷新某个页面的实现方法
Sep 05 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 #Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 #Javascript
jQuery实现边框动态效果的实例代码
Sep 23 #Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
Sep 23 #Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 #Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
Sep 23 #Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 #Javascript
You might like
php flush类输出缓冲剖析
2008/10/19 PHP
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
Convert Seconds To Hours
2007/06/16 Javascript
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
JS跨域问题详解
2014/11/25 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
jQuery 中ajax异步调用的四种方式
2016/06/28 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
JavaScript原型对象原理与应用分析
2018/12/27 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
Openlayers3实现车辆轨迹回放功能
2020/09/29 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python简单的制作图片验证码实例
2017/05/31 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
python数据挖掘需要学的内容
2019/06/23 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
解决Python安装cryptography报错问题
2020/09/03 Python
英国最大的百货公司:Harrods
2016/08/18 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
企业门卫岗位职责
2013/12/12 职场文书
冰雪公主观后感
2015/06/16 职场文书