Jquery 插件学习实例1 插件制作说明与tableUI优化

一. 先对jQuery制作方式,jQuery为开发扩展提拱了两个方法,分别是:
jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。
1.1、jQuery.fn.extend(object):
可以参靠jquery参考手册的连个例子:


代码如下:

$.fn.extend({
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});

使用:


代码如下:

$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();

1.2、jQueryjQuery.extend(object)
扩展jQuery对象本身。用来在jQuery命名空间上增加新函数。
jQuery 代码:


代码如下:

$.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});

使用:


代码如下:

$.min(2,3); // => 2
$.max(4,5); // => 5

二、tableUI具体的插件示例代码如下:


代码如下:

/*
* tableUI 0.2
* 就不写版权了吧,呵呵
* Date: 4/1/2010
* 使用tableUI可以方便地将表格提示使用体验。先提供的功能有奇偶行颜色交替,鼠标移上高亮显示
* 0.2版结合25个小贴士对“政委”的那个做了些优化,学习之用,还请指正。
*/
(function($) {
$.fn.tableUI = function(options) {
//默认参数
var defaults = {
evenRowClass: "evenRow",
oddRowClass: "oddRow",
activeRowClass: "activeRow"
};
//用传入参数覆盖了默认值
options = $.extend(defaults, options);
//表对象
var thisTable = $(this);
//添加奇偶行颜色
thisTable.find("tr:even").addClass(options.evenRowClass);
thisTable.find("tr:odd").addClass(options.oddRowClass);
//绑定鼠标移动事件,不必对每行都绑定事件。
thisTable.live("mouseover", function(e) {
//获取鼠标所指目标对象父级tr
$(e.target).parent().addClass(options.activeRowClass);
//阻止事件冒泡
return false;
}).live("mouseout", function(e) {
$(e.target).parent().removeClass(options.activeRowClass);
return false;
});
};
})(jQuery);

(0)

相关推荐

  • JQuery 插件制作实践 xMarquee插件V1.0

    插件需求 1,向左或者右移动列表中的元素.(注,上下方向也一样的,用css控制列表元素float的方向即可-) 2,鼠标移动到某个元素上时,改元素突出显示(css控制),播放器停止滚动.移开后继续跑马.. 3,可选左右手工导航按钮.  实现原理 移动列表末尾元素到第一个元素前面即可. 将来的扩展(以后用到的话再看吧) 多个元素同时移动:移动时的效果:移动后的回调函数:(注:利用移动后的回调函数可以方便做一个相册插件,有兴趣的自己写下).做开发的人要记住一句话:Do the simplest th

  • firefox扩展插件制作方法详细介绍

    首先第一步 说一下怎么样查看firefox插件的源码, 就我上边写的那个东西,把它下载下来.将它的扩展名改为zip并解压.会得到一个blueideaserach的文件夹, 这个文件夹中便是我做的这个插件的源码[attach]62937[/attach] 这个目录中除了 chrome目录  chrome.manifest install.rdf  这三个以外都不是必须的. chrome.manifest   这个文件中是对所有文件的一个列表. install.rdf             这个是

  • jquery插件制作简单示例说明

    一.先从一个简单的实例,不需要带参数的一个方法开始 复制代码 代码如下: //创建一个匿名函数 (function($){ //给jQuery附加一个新的方法(详细见备注1) $.fn.extend({ //插件的名字 MyFirstName: function() { //迭代当前匹配元素集合 return this.each(function() { var obj = $(this); //自己的代码 }); } }); )(jQuery); 备注1:理解$.fn.extend和$.ext

  • jquery tab插件制作实现代码

    jquery插件的基本格式: 复制代码 代码如下: (function($){ $.fn.tab = function(options){//$.fn后面的tab是这个插件的函数名称.可以更具自己喜好进行修改 var defaults = { //相关属性设置 } var options = $.extend(defaults, options); this.each(function(){ //实现的功能设置 }); }; })(jQuery); 我这里是做一个tab的插件,我来完善以上代码

  • 一个简单的jQuery插件制作 学习过程及实例

    一,首先,制作jQuery插件需要一个闭包 复制代码 代码如下: (function ($) { //code in here })(jQuery); 这是来自jQuery官方的插件开发规范要求,使用这种编写方式有什么好处呢? a) 避免全局依赖. b) 避免第三方破坏. c) 兼容jQuery操作符'$'和'jQuery ' 二,有了闭包,在其中加入插件的骨架 复制代码 代码如下: $.fn.dBox = function (options) { var defaults = { //各种属性

  • 初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能

    解决思路:1. 在标题处增加一个[-][+]号,供用户点击. 2. 用户收缩和展开屏幕的行为保存在Cookie里面.页面重新加载或者用户重新登录系统,仍然能记住用户的行为. 优点:1.使用Jquery插件的形式来做,容易扩展.容易实现. 2. 保存在Cookie的行为,容易实现,减少工作量,用户也能接收.如保存在数据库,则增加页面的负载. 缺点:不能每个页面使用单独行为,既是:每次用户的收缩和扩展在系统都是全局的.并且到其他计算机登录.或者清除缓存之后,就不能记住用户的操作了. 首先使用js函数

  • Jquery 插件学习实例1 插件制作说明与tableUI优化

    一. 先对jQuery制作方式,jQuery为开发扩展提拱了两个方法,分别是: jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jQuery.fn.extend(object);给jQuery对象添加方法. 1.1.jQuery.fn.extend(object): 可以参靠jquery参考手册的连个例子: 复制代码 代码如下: $.fn.extend({ check: function() { return this.each(function()

  • Jquery Ajax学习实例7 Ajax所有过程事件分析示例

    一.Ajax所有过程事件分析 JQuery在执行Ajax的过程中会触发很多事件.   这些事件可以分为两种事件,一种是局部事件(Local),一种是全局事件(Global).   局部事件:可以通过$.ajax来调用,你某一个Ajax请求不希望产生全局的事件,则可以设置global:false.   全局事件:跟click等事件类似,可以绑定到到每一个DOM元素上.   这些事件的按照事件的触发顺序如下介绍: 局部事件(Local) 全局事件(Global) ajaxStart 全局事件开始新的

  • Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用

    一.WebService.asmx: 处理业务数据,在GetDataSet()方法中产生DataSet(XML)数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [WebMethod] public DataSet GetDataSet() { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("Name", Type.GetType("Sys

  • Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据

    一.WebService.asmx 处理业务数据,在GetWhether方法中产生天气情况数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { public WebService () { //如果使用设计的组件,请取消注释以下行 //InitializeCompo

  • Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用

    一.WebService.asmx: 处理业务数据,在GetPerson方法中产生Person实体类数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: [WebMethod] public Person GetPerson(string name, int age, string address) { Person p = new Person() { Name = name, Age = age, Address = address }; return p; }

  • Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用

    一.WebService.asmx: 处理业务数据,在GetList方法中产生泛型集合数据,供JqueryRequest.aspx调用,代码如下: [WebMethod] 复制代码 代码如下: public List<string> GetList() { List<string> list = new List<string>(); list.Add("aaaaaaaaaaaa"); list.Add("bbbbbbbbbbbb"

  • Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据

    一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string u = Request["UserName"]; string p = Request["Password"]; string output = string.Format("'UserName

  • Jquery Ajax学习实例 向页面发出请求,返回XML格式数据

    一.AjaxSample.aspx 处理业务数据,产生XML数据,供JqueryRequest.aspx调用,代码如下: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { string uid = Request.QueryString["username"]; string pwd = Request.QueryString["password"]; Response.Content

  • jQuery插件学习教程之SlidesJs轮播+Validation验证

    SlidesJs(轮播支持触屏)--官网(http://slidesjs.com) 1.简介 SlidesJs是基于Jquery(1.7.1+)的响应幻灯片插件.支持键盘,触摸,css3转换. 2.代码 <!doctype html> <head> <style> /* Prevents slides from flashing */ #slides { display:none; } </style> <script src="http:/

  • jquery 插件学习(六)

    复制代码 代码如下: ;(function($){ $.extend($.fn,{ color : function(options){ var options = $.extend({},$.fn.color.defaults,options); return this.each(function(){ $(this).css("color",options.bcolor); $(this).css("background",options.fcolor); })

随机推荐