jquery插件格式实例分析


Posted in Javascript onJune 16, 2016

本文实例讲述了jquery插件格式。分享给大家供大家参考,具体如下:

现在打算给公司写一个公共组件,常用的工具很多都是jquery,很多时候一些插件特效也是基于jquery写的,因此工作中难免会遇到要拓展别人写的插件。

下面我简单的描述一下插件的格式:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
//模拟一个小的插件,方便大家学习
(function($){
  $.fn.huangbiao=function(userSetting){
  //利用jquery的extend方法来拓展插件的配置参数,这个应该暴露给使用用户
    settings = jQuery.extend($.fn.huangbiao.defaultSetting,userSetting);
    function init(){
      alert("在我这里进行初始化");
      myFunction(this);
    }
    function myFunction(obj){
      alert("我是开发者自己封装的函数");
      showSetting();
      privateFunc();
    }
    function showSetting(){
      alert(this.settings.name);
    }
    this.unbind('click').click(init);
    return this;
  }
  //下面这个是闭包的私有函数
  function privateFunc(){
    alert("i am private function!");
  }
  //暴露给用户使用的函数
  $.fn.huangbiao.openFunc=function(obj){
    alert("test");
  }
  /*
    定义暴露给用户的默认值
    这个一定要放在$.fn.huangbiao对象后面,否则脚本会报错的
  */
  $.fn.huangbiao.defaultSetting={
    name:"huangbiao",
    sex:"boy",
    age:24
  };
})($);
function useUndefault(){
  //使用自己配置的参数
  $("#undefault").huangbiao({name:"liumei",sex:"girl",age:24});
}
function useUndefault2(){
alert($.fn.huangbiao.defaultSetting.name);
  $.fn.huangbiao.defaultSetting.name="hanmeimei";
  alert($.fn.huangbiao.defaultSetting.name);
  //使用自己配置的参数
  $("#undefault2").huangbiao();
}
function useDefault(){
  //使用默认的配置参数
  $("#default").huangbiao();
}
function openFunction(){
  $("#default").huangbiao.openFunc();
}
</script>
<title>无标题文档</title>
</head>
<body>
<input type="button" value="useUndefault" id="undefault" onclick="useUndefault();"><br>
<input type="button" value="useUndefault2" id="undefault2" onclick="useUndefault2();"><br>
<input type="button" value="useDefault" id="default" onclick="useDefault();"><br>
<input type="button" value="使用提供给用户的函数" id="openFuncId" onclick="openFunction();"><br>
</body>
</html>

另外,这里再提供一个关于jquery的文档,相信对于大家学习jQuery插件有一定帮助作用!

本站下载: jQuery插件开发.pdf 。

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

Javascript 相关文章推荐
js跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
flash 得到自身url参数的代码
Nov 15 Javascript
javascript与CSS复习(《精通javascript》)
Jun 29 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
Dec 15 Javascript
AngularJS中的表单简单入门
Jul 28 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
Vue进度条progressbar组件功能
Apr 17 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
Aug 10 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
EasyUI 数据表格datagrid列自适应内容宽度的实现
Jul 18 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
详解JavaScript对象类型
Jun 16 #Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 #Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 #Javascript
JSON字符串和对象相互转换实例分析
Jun 16 #Javascript
jQuery的层级查找方式分析
Jun 16 #Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 #Javascript
JS中sort函数排序用法实例分析
Jun 16 #Javascript
You might like
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
2019/04/09 PHP
js打印纸函数代码(递归)
2010/06/18 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
2015/06/18 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
Angular路由简单学习
2016/12/26 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
python可视化实现代码
2019/01/15 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python安装后的目录在哪里
2020/06/21 Python
SQL数据库笔试题
2016/03/08 面试题
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
职业生涯规划书范文
2014/03/10 职场文书
就业协议书怎么填
2014/09/15 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
找规律教学反思
2016/02/23 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android