一、$.extend()  这种方式用来定义一些辅助方法是比较方便的

  1. $.extend({
  2. sayHello:function(name){
  3. console.log('Hello:'+name);
  4. }
  5. });
  6.  
  7. $.sayHello("张三");//调用

二、$.fn

  1. $.fn.myPlugin=function(){
  2. //在这里面,this指的是用jQuery选中的元素
  3. //例如 :$('a'),则this=$('a')
  4. this.css('color','red');
  5. this.each(function(){
  6. $(this).append(': '+$(this).attr('href'));
  7. });
  8. }
  9.  
  10. //支持链式调用
  11. $.fn.myPlugin = function() {
  12. //在这里面,this指的是用jQuery选中的元素
  13. this.css('color', 'red');
  14. return this.each(function() {
  15. //对每个元素进行操作
  16. $(this).append(' ' + $(this).attr('href'));
  17. })
  18. }
  19.  
  20. //传递参数
  21. $.fn.myPlugin = function(options) {
  22. var defaults = {
  23. 'color': 'red',
  24. 'fontSize': '12px'
  25. };
  26. var settings = $.extend(defaults, options);
  27. return this.css({
  28. 'color': settings.color,
  29. 'fontSize': settings.fontSize
  30. });
  31. }
  32. //保护默认参数 的 方法
  33. $.fn.myPlugin = function(options) {
  34. var defaults = {
  35. 'color': 'red',
  36. 'fontSize': '12px'
  37. };
  38. var settings = $.extend({},defaults, options);//将一个空对象做为第一个参数
  39. return this.css({
  40. 'color': settings.color,
  41. 'fontSize': settings.fontSize
  42. });
  43. }
  44. //面向对象+用自调用匿名函数包裹你的代码
  45. //定义Beautifier的构造函数
  46. (function() {
  47. var Beautifier = function(ele, opt) {
  48. this.$element = ele,
  49. this.defaults = {
  50. 'color': 'red',
  51. 'fontSize': '12px',
  52. 'textDecoration':'none'
  53. },
  54. this.options = $.extend({}, this.defaults, opt)
  55. }
  56. //定义Beautifier的方法
  57. Beautifier.prototype = {
  58. beautify: function() {
  59. return this.$element.css({
  60. 'color': this.options.color,
  61. 'fontSize': this.options.fontSize,
  62. 'textDecoration': this.options.textDecoration
  63. });
  64. }
  65. }
  66. //在插件中使用Beautifier对象
  67. $.fn.myPlugin = function(options) {
  68. //创建Beautifier的实体
  69. var beautifier = new Beautifier(this, options);
  70. //调用其方法
  71. return beautifier.beautify();
  72. }
  73. })();

  

jquery 插件开发的更多相关文章

  1. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  2. JavaScript学习总结(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  3. jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  4. jquery插件开发

    jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...

  5. jQuery插件开发(溢出滚动)

    声明:此程序仅针对手机端,简单的封装一个插件,意在记载插件的开发过程,如有错误及不足之处,还望即时指出. 移动开发的时候,我们经常会遇到滑动事件,众所周知手机端滑动主要依靠touch事件.最近接连遇到 ...

  6. 从零开始学jQuery插件开发

    http://www.w3cfuns.com/notes/19462/ec18ab496b4c992c437977575b12736c.html jQuery 最成功的地方,是它的可扩展性,通过吸引了 ...

  7. jquery插件开发继承了jQuery高级编程思路

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  8. jQuery插件开发(转)

    jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命 ...

  9. jQuery插件开发的两种方法及$.fn.extend的详解

    jQuery插件开发分为两种: 1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.ex ...

  10. Jquery插件开发学习

    一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#"),$("."),写了几年就对别人说非常熟悉JQuery.我曾经也是这样的人 ...

随机推荐

  1. Python GUI编程--Tkinter

    今天看到了GUI编程,书上推荐用wxPython,去官网上看了看,发现Windows的最高支持到2.7,我用的是3.4版本,咋办,用自带的库--Tkinter呗,它是Python的默认GUI库,几乎是 ...

  2. Redis多机常用架构-cluster

    Redis-cluster:去中心化,中间件,集群中任意节点平等,任一节点可获得全局的数据 Redis-cluster 拓扑图: 架构演变及 cap 理论: 单机 Redis 属于 cp 模型. Re ...

  3. Win7 64位 VS2015环境编译NanoVG

    书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...

  4. Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean

    1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...

  5. 为什么一个类的全局变量默认以m开头?

    某天闲着无聊,突然想起来为什么大家都习惯将全局变量使用m开头,于是追根求源,查了一些资料,虽然并不是我想要的,但是也总结一下. 在stackoverflow上就有人问: Why do most var ...

  6. NIO概述

    NIO API从Java1.4开始引用起就被广泛应用所使用.NIO API自带了IO非阻塞操作. java.nio.*包的结构: · Buffers 作为数据容器 · Chartsets 将容器中的数 ...

  7. 用户 'IIS APPPOOL\ASP.NET V4.0' 登录失败 解决办法…………

    在iis管理器中-->应用程序池-->ASP.NET V4.0---->高级设置-->标识-->改为localSystem

  8. oracle基本操作

    登入oraclesqlplus / as sysdba启动oraclestartup停止oracleshutdown 创建新用户create user username identified by p ...

  9. oracle入门必备

    //................创建表空间 \  赋予角色  \ 创建数据表  \  插入数据  \  创建序列  \ 添加注释   ........................... --创 ...

  10. hdu 5944 Fxx and string

    \:nn,下标从1开始,第\:i\:i位的字母为\:s_is​i​​,现在Fxx想知道有多少三元组\:(i,j,k)\:(i,j,k)满足下列条件 1.i,j,k\:i,j,k三个数成等比数列 2.s ...