jQuery插件制作方法详解

 

 

jQuery插件制作方法详解

 

jquery插件给我的感觉清一色的清洁,简单。如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了。其他事情插件全包。我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件。写一 个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件.

 

 

jquery插件给我的感觉清一色的清洁,简单。如Jtip,要使用它的功能,只需要在你的元素的class上加上Jtip,并引入jtip.js及其样式即可以了。其他事情插件全包。我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件。写一个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件.

  • 为你的插件取一个名字,在这个例子里面我们叫它"foobar". 

    创建一个像这样的文件:jquery.[yourpluginname].js,比如我们创建一个jquery.foobar.js 

    创建一个或更多的插件方法,使用继承jQuery对象的方式,如:

  • jQuery.fn.foobar = function() {
    // do something
    };
  • 可选的:创建一个用于帮助说明的函数,如:
    jQuery.fooBar = {
    height: 5,
    calculateBar = function() { ... },
    checkDependencies = function() { ... }
    };

    你现在可以在你的插件中使用这些帮助函数了:

    jQuery.fn.foobar = function() {
    // do something
    jQuery.foobar.checkDependencies(value);
    // do something else
    };
  • 可选的l:创建一个默认的初始参数配置,这些配置也可以由用户自行设定,如:
    jQuery.fn.foobar = function(options) {
    var settings = {
    value: 5,
    name: "pete",
    bar: 655
    };
    if(options) {
    jQuery.extend(settings, options);
    }
    };

    现在可以无需做任何配置地使用插件了,默认的参数在此时生效:

    $("...").foobar();

    或者加入这些参数定义:

    $("...").foobar({
    value: 123,
    bar: 9
    });

    如果你release你的插件, 你还应该提供一些例子和文档,大部分的插件都具备这些良好的参考文档.现在你应该有了写一个插件的基础,让我们试着用这些知识写一个自己的插件.很多人试着控制所有的radio或者checkbox是否被选中,比如:

    $("input[@type='checkbox']").each(function() {
    this.checked = true;
    // or, to uncheck
    this.checked = false;
    // or, to toggle
    this.checked = !this.checked;
    });

    无论何时候,当你的代码出现each时,你应该重写上面的代码来构造一个插件,很直接地:

    $.fn.check = function() {
    return this.each(function() {
    this.checked = true;
    });
    };

    这个插件现在可以这样用:

    $("input[@type='checkbox']").check();

    现在你应该还可以写出uncheck()和toggleCheck()了.但是先停一下,让我们的插件接收一些参数.

    $.fn.check = function(mode) {
    var mode = mode || 'on'; // if mode is undefined, use 'on' as default
    return this.each(function() {
    switch(mode) {
    case 'on':
    this.checked = true;
    break;
    case 'off':
    this.checked = false;
    break;
    case 'toggle':
    this.checked = !this.checked;
    break;
    }
    });
    };

    这里我们设置了默认的参数,所以将"on"参数省略也是可以的,当然也可以加上"on","off", 或 "toggle",如:

    $("input[@type='checkbox']").check();
    $("input[@type='checkbox']").check('on');
    $("input[@type='checkbox']").check('off');
    $("input[@type='checkbox']").check('toggle');

    如果有多于一个的 参数设置会稍稍有点复杂,在使用时如果只想设置第二个参数,则要在第一个参数位置写入null.从上一章的tablesorter插件用法我们可以看到, 既可以省略所有参数来使用或者通过一个 key/value 对来重新设置每个参数.作为一个练习,你可以试着将 第四章 的功能重写为一个插件.这个插 件的骨架应该是像这样的:

    $.fn.rateMe = function(options) {
    var container = this; // instead of selecting a static container with $("#rating"), we now use the jQuery context
    
    var settings = {
    url: "rate.php"
    // put more defaults here
    // remember to put a comma (",") after each pair, but not after the last one!
    };
    
    if(options) { // check if options are present before extending the settings
    $.extend(settings, options);
    }
    
    // ...
    // rest of the code
    // ...
    
    return this; // if possible, return "this" to not break the chain
    });
时间: 2024-08-02 10:08:28

jQuery插件制作方法详解的相关文章

javascript截图 jQuery插件imgAreaSelect使用详解_jquery

为了使用户能自定义个人头像,需要提供一个对上传图片的截图功能,当前很多网站特别是SNS类网站都提供这样的功能,非常实用.主要实现的形式有两种,一种是flash截图,另一种就是javascript截图,两种方法各有秋千,关于Flash截图可以参考一下UcHome程序中头像上传功能,但这不是我要讨论的话题,我这里主要是如何实现javascript截图,利用jQuery的imgAreaSelect插件,轻松实现自定义头像[avatar]javascript截图功能. 一,准备: 两个JS文件 1,jq

Fireworks MX晕光文字特效四种制作方法详解

详解 本节我们一起来学习制作晕光效果的特效字,这里我们总共罗列了四种效果的晕光字效果图,在随后的讲解中我们会逐一对其制作方法来做一个讲解,希望本节教程能够对你制作晕光特效有所帮助.先来看效果图. [操作步骤] 第一种晕光特效字的制作方法: 1.将编辑区的背景色设为黑色,在编辑区输入文字"night",字体选用"Times New Roman",字号为"96"大小,字体颜色为"#003399",字体采用"加粗"

jQuery插件编写步骤详解_jquery

本文实例讲述了jQuery插件编写步骤.分享给大家供大家参考,具体如下: 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论下jquery的插件机制,jquery有着成千上万的第 三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式了,如下 面就是一个简单扩展Jquery

Bootstrap Paginator分页插件使用方法详解_javascript技巧

最近做的asp.netMVC项目中需要对数据列表进行分类,这个本来就是基于bootstrap开发的后台,因此也就想着bootstrap是否有分页插件呢,或者说是基于jquery支持的分页功能,这样整体的网站后台风格便能够统一,又不用自己去写一套分页的功能. 首先便是要下载Bootstrap Paginator了,下载地址:Bootstrap Paginator分页插件 首先视图的上面应该需要引入js和css文件,主要有三个文件,分别是bootstrap的css,jquery以及Paginator

jQuery 遍历map()方法详解_jquery

一.定义和用法 map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象. 二.语法 .map(callback(index,domElement)) 三.详细说明 由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组 四.案例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>

撕纸边缘效果制作方法详解

详解 按照上图的相关设定产生的矩形效果会如下图所示.和第4步操作完毕后的边缘效果是不尽相同的,这点希望大家注意. 5.此处继续第4步的操作.选中编辑区已经产生边缘效果的矩形对象.按快捷键"Ctrl+Shift+D",克隆一个相同的对象.选中克隆对象,执行属性面板上效果菜单命令中的模糊效果中的高斯模糊命令,在弹出的高斯模糊设置框中,进行如下图所示的设定. 6.将克隆对象的填充颜色设为"#FFFF99",此刻编辑区的效果会如下图所示,撕纸边缘效果已经出现,而且还产生了一

美图秀秀纹身怎么制作 纹身制作方法详解

给各位美图秀秀软件的使用者们来详细的解析分享一下纹身的制作方法. 方法分享: 小编做了几种效果,展示给大家看看:     不但秀了个性的纹身,仔细的亲们也一定发现,图片的效果也有不同,都是流行的一些影楼LOMO效果.用"美图秀秀"软件都只需要一键搞定哦. 赶快打开一张图片来体验一下吧:   软件还有很多瘦脸.磨皮.美白等美容功能,不过如果只体验无痛纹身.只要在"美容>>纹身"中,在N多新奇图案中选择喜欢的,用鼠标添加在臂膀处即可.当然你也可以添加在背部.

jQuery的ready方法详解_jquery

jQuery中的ready方法实现了当页面加载完成后才执行的效果,但他并不是window.onload或者doucment.onload的封装,而是使用 标准W3C浏览器DOM隐藏api和IE浏览器缺陷来完成的,首先,我们来看jQuery的代码 复制代码 代码如下: DOMContentLoaded = function()  {          //取消事件监听,执行ready方法     if ( document.addEventListener )     {             

jQuery常用事件方法详解

jQuery事件 readyfnfunction jQueryon jQueryclick jQuerydata jQuerysubmit jQuery事件 ready(fn)|$(function(){}) (document).ready(function())可以简写成(function(){}); 当DOM载入就绪可以查询及操纵时绑定一个要执行的函数. 这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度. 简单地说,这个方法纯粹是对向window.load事件注