锋利的jQuery--编写jQuery插件(读书笔记五)[完结篇]

简介:
1.表单验证插件Validation
 
2.表单插件Form
 
3.动态事件绑定插件livequery
可以为后来的元素绑定事件
 
类似于jQuery中的 live()方法
 
 
4.jQuery UI
 
5.jQuery Cookie
 
6.遮罩层插件:thickbox
 
7.编写jQuery插件
<1>编写插件的目的:给已经有的一些列方法或函数做一个封装,一遍在其他地方使用,方便后期维护和提高开发效率。
 
<2>三种类型的插件
a:封装对象方法的插件  jQuery.fn.extend()
b:封装全局函数的插件  jQuery.extend()
c:选择器插件  jQuery.extend()
 
<3>插件内部的this指向的是jQuery对象,而不是DOM对象。
 
8.对于
的补充。
 
<1>插件的基本要点
 
<2>jQuery.extend()方法处理可以用于扩展jQuery对象之外,还有一个强大的功能,就是用于扩展已有的Object对象。
例如:
var settings={va: false, li: 5, name:"foo"};
var options={va: true, name:"bar"};
var newSet=jQuery.extend(settings,options);
 
结果:
newSet={va: true, li: 5, name:"bar"};
 
所以: jQuery.extend()方法经常被用于设置插件方法的一系列默认参数。
例子:
复制代码
function foo(options){
    options=jQuery.extend({
        name:"bar",
        length:5,
        dataType:"xml"
    },options);
}
复制代码

 

<2>封装方法的插件使用
例子:写color插件。
1.js文件命名:jQuery.color.js
 
2.格式
;(function($){
 
})(jQuery);
 
3.由于是封装方法的插件使用:jQuery.fn.extend()
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
            
        }
    })
})(jQuery);
复制代码
 
4.this的可链式调用性
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
              return this.css("color",value);    //为了可链式调用,返回this
        }
    })
})(jQuery);
复制代码

 

5.两个功能:设置与获取color
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
            if(value==undefined){
              return this.css("color");    //为了可链式调用,返回this
            )else{
                return this.css("color",value); 
            }
        }
    })
})(jQuery);
复制代码
 
6.插件提升
a:由于css方法本身具有返回第一个匹配元素的功能,所以不需要使用eq()来获取第一个元素
b:由于css方法内部已经有判断value是否为undefined的机制,所以可以省略if
最终:
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
                return this.css("color",value); 
        }
    })
})(jQuery);
复制代码
 
7.实际使用:
复制代码
<script>
   
;(function($){
    $.fn.extend({
        "color":function(value){
                return this.css("color",value); 
        }
    })
})(jQuery);
    
//应用
$(function(){
    alert($("div").color());    //获取第一个color
     $("div").color("red");    //设置所有的div的color为red
})
 
</script>
复制代码

 

8.插件扩展:如果要定义一组插件可以这么写
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
                
        },
       “border”:function(value){
        
        },
        ...
    })
})(jQuery);
复制代码
 
9.注意:jQuery选择符可能会匹配多个元素,可以在插件内部调用each()方法来遍历匹配元素。
如:
复制代码
;(function($){
    $.fn.extend({
        "color":function(value){
                return this.each(function(){
                    
            })
        }
    })
})(jQuery);
复制代码
 
<3>封装全局函数的插件使用
例子:去除左侧和右侧的空格
复制代码
;(function($){
    $.extend({
        ltrim:function(text){
                return (text || "").replace(/^\s+/g,"");
        },
        
        rtrim:function(text){
                return (text || "").replace(/^\s+$/g,"");
        }
    
    })
})(jQuery);
 
//调用
$("div").val(
    jQuery.ltrim("      text        ")
)
 
复制代码
 
<4>选择器插件
$("div:gt(1)")
 
jQuery中的源码是
gt:function(a,i,m){
    return i>m[3]-0;
}
有三个参数:a,i,m
转载:http://www.cnblogs.com/zqzjs/p/4943617.html
目录
相关文章
|
13天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
54 21
|
14天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
45 16
|
9天前
|
JavaScript
jquery文字动画特效插件animatext
jquery文字动画特效插件animatext
33 9
|
11天前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
14天前
|
JavaScript
简洁实用的jQuery进度条插件
这是一款简洁实用的jQuery进度条插件。该插件使用简单,通过在页面中放置指定的HTML代码,即可生成带动画效果的进度条。
|
13天前
|
JavaScript 容器
jQuery文字跑马灯插件Marquee
jQuery.Marquee是一款jQuery文字跑马灯插件。jQuery.Marquee跑马灯插件可以结合使用CSS3动画,制作文字的上下左右移动效果。
|
9天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
23 2
|
9天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
13天前
|
JavaScript
jQuery Lightbox和弹出层插件flashy
Flashy.js是一款响应式jQuery Lightbox和弹出层插件
|
12天前
|
JavaScript 容器
jQuery消息通知显示插件
MessageNotifyPlugin是一款简单的jQuery消息通知显示插件。该jQuery消息通知显示插件能够自动生成最新消息和提醒消息两个消息通知按钮。并且可以设置消息的是否已读状态等
20 2