jQuery插件学习笔记

最近在研究jQuery插件,插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护。

JQuery除了提供一个简单、有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心模块增加自己的方法和额外的功能。通过这种机制,Jquery允许我们自己创建属于我们自己的插件,提高我们在开发过程中的效率。

虽然在jQuery命名空间中,我们禁止使用了大量的javaScript函数名和变量名。但是仍然不可避免某些函数或变量名将于其他jQuery插件冲突,因此我们习惯将一些方法封装到另一个自定义的命名空间。

第一个示例:

1.插件文件 MyFirstPlugin.js

注:用$.extend()把默认值和用户传进来的值是联合在一起,这样子的话,就把用户自定义的值覆盖了默认用户的值。如果用户没定义值,就用系统自定义的。

this.each(function () { 这个前面加了一个 return。这样就实现了我们的链式操作。

(function ($) {
    $.fn.textHover = function (options) {
        var defaultVal = {
            Text: '鼠标悬浮事件',
            ForeColor: 'red',
            BackColor: '#B9FDD8'
        };
        //默认值
        var obj = $.extend(defaultVal, options);
        return this.each(function () {
            var selObject = $(this);  //获取当前对象
            var oldText = selObject.text();  //获取当前对象的Text
            var oldBgColor = selObject.css("background-color"); //获取当前对象的背景色
            var oldColor = selObject.css("color"); //获取当前对象的字体的颜色
            selObject.hover(
            function () {
                selObject.text(obj.Text);  //进行赋值
                selObject.css("background-color", obj.BackColor);
                selObject.css("color", obj.ForeColor);
            },
            function () {
                selObject.text(oldText);
                selObject.css("background-color", oldBgColor);
                selObject.css("color", oldColor);
            }
            );
        });
    }
})(jQuery);

2.前台HTML代码

<form id="form1" action="#">
        <div id="div1" style="width: 400px; height: 150px; background-color: #B9FDD8;">
            Hello world</div>
        <br />
        <div id="div2" class="textBar" style="width: 200px; height: 150px; background-color:#F0FBFF;float:left; border:1px solid gray;">
            哈哈  我是第二个 DIV
        </div>
        <div id="div3" class="textBar" style="width: 200px; height: 150px; background-color:#EDEAFF;float:left; border:1px solid gray; margin-left:2px;">
            哈哈  我是第三个 DIV
        </div>
</form>

3.JS代码

3.1导入jQuery库文件

<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>    <!--jQuery文件必须放在自定义插件的前面!防止自定义插件引用对象时报错。-->
<script src="MyScripts/MyFirstPlugin.js" type="text/javascript"></script>


3.2 JS代码

<script type="text/javascript">
        $(function () {
            $('#div1').textHover({
                Text: '鼠标悬浮在第一个 DIV 上面。。。',
                ForeColor: 'yellow',
                BackColor: 'Red'
            });
            $('#div2').textHover({ Text: '我是第二个 DIV 。。。' });
            $("#div3").textHover({ Text: '我是第三个 DIV 。。。' }).css("background-color", "#B1B0FE");  //初次加载的时候  给出改变其颜色
        });
</script>

OK,到这里,一个简单的插件就完成了。

jQuery插件学习笔记,布布扣,bubuko.com

时间: 2024-08-02 11:03:57

jQuery插件学习笔记的相关文章

jquery插件 - 学习笔记 (插件参数及函数的调用)

今天研究的是jquery插件的基本写法: 比如我打算写一个名为 ImageZoom 的插件 前台调用: <script src="ImageZoom.js"></script>$.ImageZoom({ imageSelector: ".imgBox img", //图片选择器 wrapSelector: ".list-images", //层选择器 allowCustomeZoom: true, //允许手动缩放 spe

Jquery 插件学习笔记

Jquery 插件 1表单验证插件--validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下: $(form).validate({options}) 其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo

jquery.extend 学习笔记

//// jquery.extend 学习笔记// jquery.extend 扩展方法设计的很巧妙,动态增加静态方法和属性 // 虽然网上资料很多,还是跟据自已的学习理解记录一下.// //定义一个Person构造函数function Person(iname,iage){ this.uname = iname; this.age = iage;} //定义原型方法Person.prototype = { showN:function(){ //调用静态方法 Person.showName(t

jQuery 基础学习笔记总结(一)

Jquery 学习笔记 总结 感想: 此前在做站点时用到过jquery相关,特别是Ajax相关技术.但是并没有系统的进行学习和了解Jquery的强大的功能,趁这几天跟着资料基本的了解下Jquery的特性和插件,感觉原来好多前端设计中感觉非常麻烦的东西.通过Jquery的函数和插件都非常easy的实现了而且效果极佳.这里仅仅是简单的介绍下Jquery有哪些知识点. 1.基础选择器 (1). $("button").attr("disabled","true&

jQuery的学习笔记2

jQuery学习笔记 Day two Chapter two 选择器 类选择器 语法结构:$(“.classname”) javascript里面没有类选择器所以这个时候使用jQuery会更加的简便 通配选择器 语法结构:jQuery(“*”) 例如下列代码就是匹配body里面的所有的元素 <script type="text/javascript"> $(function() { $("*").css("color","r

jQuery的学习笔记

JQuery学习笔记 Chapter one初识jQuery 1.2测试jQuery 在jQuery库中,$是jQuery的别名,如:$()相当于jQuery() 注意:在使用JQuery进行开发的时候如果在做所有事情之前,希望jQuery操作DOM文档,就必须保证在DOM载入完毕后开始执行,应该使用ready事件作为处理HTML文档的开始. 1.4JQuery的核心功能 1.对外接口单一让使用更简单 2.链式语法让编码更加的快速和优雅 3.模仿CSS选择器让选取元素更加的精确的灵活 4.拓展接

jQuery的学习笔记4

JQuery学习笔记3 2.9属性选择器 属性选择器就是根据元素的属性和属性值作为过滤条件,来匹配对应的DOM元素.属性选择器一般都以中括号作为起止分界符 它的形式如下: [attribute] [attribute=value] [attribute!=value] [attribute^=value]作用:匹配给定的属性是以某些值开始的元素 [attribute*=value]作用:匹配给定的属性是以包含某些值的元素 [attribute$=value]作用:匹配给定的属性是以某些值结束的元

jQuery插件学习(一)

由于项目开发需要,经常会用到一些jquery插件,但网上已有的插件常常又不能100%满足业务需求,所以就想自己能看懂插件的代码,进行一些功能上的改动和补充,或者能自己自定义插件就更好了.所以这段时间会对插件进行一些研究,现将学习的一些重要内容记录下来,供那些像我一样的初学者借鉴下.嘻嘻. (一)jQuery为开发插件提拱了两个方法 jQuery.extend(); 为扩展jQuery类本身.为类添加新的方法: jQuery.fn.extend();给jQuery对象添加方法: 它们之间的区别是:

锋利的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()