本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hulefei29/archive/2009/02/03/3859825.aspx
写一个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件.
1、为你的插件取一个名字,在这个例子里面我们叫它"foobar".
2、创建一个像这样的文件:jquery.[yourpluginname].js,比如我们创建一个jquery.foobar.js
3、创建一个或更多的插件方法,使用继承jQuery对象的方式,如:
jQuery.fn.foobar = function() {
// do something
};
4、可选的:创建一个用于帮助说明的函数,如:
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
});
分享到:
相关推荐
制作jQuery插件Tabs实现过程的知识点可以总结如下: 1. 插件开发思路:在开发一个jQuery插件之前,要先明确设计思路,确定插件需要实现的主要功能,比如Tabs切换、自动轮换效果以及Ajax数据请求和加载等。 2. DOM...
你可以通过查看源代码来学习其工作原理,这对于初学者或者希望深入了解jQuery插件开发的人来说是一个很好的学习机会。 标签“清除html格式”是这个插件的核心特性,它可能包括移除HTML标签、属性、样式以及其他非...
这篇“jQuery插件开发学习”的主题旨在帮助开发者深入理解如何利用jQuery来开发自定义插件,提高代码复用性和项目效率。下面我们将详细探讨jQuery插件开发的相关知识点。 首先,了解jQuery的核心概念是至关重要的。...
《jQuery插件开发详解》 在Web开发领域,jQuery是一个广泛应用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作等任务。jQuery插件是jQuery生态系统的重要组成部分,它们扩展了jQuery的核心...
这个插件的演示页面是http://www.lovewebgames.com/demo/autoAdd/autoAdd.html ,引用自己动手制作jquery插件之自动添加删除行(上)里的介绍,这是一个简单的插件,它的作用是:一个系统中有大量的需要对一个行进行...
《jQuery插件详解及其在web前端开发中的应用》 jQuery,作为一款强大的JavaScript库,极大地简化了JavaScript的DOM操作、事件处理以及动画制作等任务,是web前端开发中不可或缺的工具。尤其对于初学者和经验丰富的...
这个插件特别适合于制作产品展示、幻灯片、教程或者任何需要流畅、分段滚动体验的网页。 **1. 安装与引入** 在项目中使用 `fullpage.js` 插件,首先需要在 HTML 文件中引入 jQuery 库和 fullpage.js 文件。通常,...
《jQuery插件开发详解》 在Web开发领域,jQuery是一个广泛应用的JavaScript库,它极大地简化了DOM操作、事件处理和动画制作。对于开发者而言,掌握jQuery插件的开发技巧是提升工作效率的重要一环。本篇将深入探讨...
**通用JQuery插件开发详解** 在Web开发领域,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。由于其简洁的API和丰富的功能,jQuery成为创建交互式网页的强大工具。...
《jQuery插件打包下载详解及应用》 在Web开发领域,jQuery作为一个强大的JavaScript库,极大地简化了DOM操作、事件处理、动画制作等任务,深受开发者喜爱。本文将围绕"jQuery插件打包下载"这一主题,深入探讨jQuery...
"dreamweaver8-jQuery插件"正是为了解决在Dreamweaver 8中更便捷地使用jQuery而设计的。 这个插件的引入,使得开发人员能够在Dreamweaver 8环境中无缝地集成jQuery的功能。通过安装文件`jQuery_API.mxp`,用户可以...
本篇文章将详细讲解如何基于提供的JQuery插件模板来制作自己的jQuery插件。 首先,让我们解析一下给出的模板代码: ```javascript ;(function($) { // 私有函数 var p = {}; p.func1 = function() { }; // 主...
"jquery插件"是指基于jQuery框架的扩展代码,可以轻松添加到项目中,提供额外的功能。"登录"和"注册"是此插件的核心功能,它可能包括验证用户输入、处理登录请求以及可能的注册新用户功能。"表单"是指用于收集用户...
【jQuery插件详解】 在网页开发中,jQuery插件是一种扩展了jQuery库功能的JavaScript代码,使得开发者可以更轻松地实现复杂的功能,如动画效果、交互控件等。本资源包含十套常用的精美jQuery插件,涵盖了多个实用...
本主题聚焦于“JQUERY插件之自定义滚动条DEMO”,这涉及到如何使用jQuery来实现一个自定义的滚动条,以替代浏览器默认样式,并确保在不同浏览器如IE、Firefox、Chrome和百度浏览器中的兼容性。 首先,我们了解滚动...
【标题】"京东下雪jquery插件"是一个用于网页中创建雪花飘落视觉效果的JavaScript库,基于流行的jQuery框架。这个插件旨在为网站添加节日氛围或者特定活动的装饰元素,比如在冬季促销或者特定庆祝活动中,模拟下雪...
1. **下载插件**: 你可以从官方仓库或者第三方资源网站下载Revealator的压缩包文件,文件名可能类似于"Revealator-制作元素进入视口产生动画的jQuery插件"。 2. **引入库文件**: 将下载的压缩包解压后,将`jquery....
在这个“jquery插件——多级菜单”项目中,我们可能看到以下关键技术点: 1. **CSS样式和布局**:多级菜单的呈现通常依赖于CSS来实现层次感。通过设置适当的`display`属性(如`none`和`block`),我们可以控制菜单...