基于Jquery的表格隔行换色,移动换色,点击换色插件


Posted in Javascript onDecember 22, 2010

效果图:
基于Jquery的表格隔行换色,移动换色,点击换色插件
编写JQUERY插件如下:

;(function($) { 
$.fn.extend({ 
"alterBgColor":function(options){ 
//设置默认值 
option=$.extend({ 
odd:"odd", 
even:"even", 
selected:"selected" 
},options); //注意这个options 同上面的function(options)中的option是同一个对象 
//隔行变色 
$("tbody>tr:enev",this).addClass(option.even); 
$("tbody>tr:odd",this).addClass(option.odd); 
//单击行变色 
$('tbody>tr',this).click(function(){ 
var hasSelected = $(this).hasClass(option.selected); 
$(this)[hasSelected?"removeClass":"addClass"](option.selected) 
.find(":checkbox").attr('checked',!hasSelected); 
}); 
$("tbody>tr:has(:checked)",this).addClass(option.selected); 
return this; //返回this,使方法可链 
} 
}); 
})(jQuery);

二、应用JQUERY插件
$(function(){ 
//按默认类 
$("#table2").alterBgColor() 
.find("th").css("font-size","18"); 
//自定义类,给定值; 
$("#table1").alterBgColor({ 
odd:"odd1", 
even:"even1", 
selected:"mselected" 
}).find("th").css("font-size","18"); 
})

三、两个不同的表格结构:
<table width="394" height="115" border="0" cellpadding="3" cellspacing="1" id="table2"> 
<thead class="caption"> 
<tr id="title"> 
<th> </th> 
<th height="32">姓名</th> 
<th>姓别</th> 
<th>暂住地</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td><input name="id" type="checkbox" value="1" /></td> 
<td>王锋</td> 
<td>男</td> 
<td>北京海淀区肖家河</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="2" /></td> 
<td>王兴</td> 
<td>女</td> 
<td>河北石家庄</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="3" /></td> 
<td>李明</td> 
<td>男</td> 
<td>北京昌平区回龙观</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="4" /></td> 
<td>程子</td> 
<td>男</td> 
<td>北京西城区</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="5" /></td> 
<td>赵垛稳</td> 
<td>男</td> 
<td>北京海淀区上地</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="6" /></td> 
<td>陈曦</td> 
<td>女</td> 
<td>北京海淀区万泉庄</td> 
</tr> 
</tbody> 
</table> <table width="394" height="115" border="0" cellpadding="3" cellspacing="1" id="table1"> 
<thead class="caption"> 
<tr id="title"> 
<th> </th> 
<th height="32">姓名</th> 
<th>姓别</th> 
<th>暂住地</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td><input name="id" type="checkbox" value="1" /></td> 
<td>王锋</td> 
<td>男</td> 
<td>北京海淀区肖家河</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="2" /></td> 
<td>王兴</td> 
<td>女</td> 
<td>河北石家庄</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="3" /></td> 
<td>李明</td> 
<td>男</td> 
<td>北京昌平区回龙观</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="4" /></td> 
<td>程子</td> 
<td>男</td> 
<td>北京西城区</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="5" /></td> 
<td>赵垛稳</td> 
<td>男</td> 
<td>北京海淀区上地</td> 
</tr> 
<tr> 
<td><input name="id" type="checkbox" value="6" /></td> 
<td>陈曦</td> 
<td>女</td> 
<td>北京海淀区万泉庄</td> 
</tr> 
</tbody> 
</table>

四、样式如下:
<style> 
.even{ background:#E3C575;} 
.odd{ background:#D5D500;} 
.selected{ background:#FF6262; color:#FFFFFF;} 
table{ border:#666666 1px solid; font-size:12px;} 
table .caption{ background:#B0B0FF; color:#FFFFFF; test-align:left;} 
.even1{ background:#C6FBB9;} 
.odd1{ background:#FFB9DC;} 
.mselected{ background:#F5CEA7; color:#FFFFFF;} 
</style>

就此结束,希望大家都给 me--评论评论,谢谢!
如果不明白请与我(王锋 QQ:155259396)联系.
(function($){ 
$.fn.extend({ 
"SetTableBgColor":function(options){ 
//设置默认样式值 
option=$.extend({ 
odd:"odd",//奇数行 
even:"even",//偶数航 
selected:"selected",//选中行 
over:"over"//鼠标移动上去时 
},options);//此处options与function里的参数为同一个对象 
//隔行换色 
$("tbody>tr:even",this).addClass(option.even); 
$("tbody>tr:odd",this).addClass(option.odd); 
//单击行变色 
$("tbody>tr",this).click(function(){ 
$("tbody>tr").removeClass(option.selected); 
//var hasSelected=$(this).hasClass(option.selected);//返回true或false 查询是否已经包含点击状态下的样式 
$(this).addClass(option.selected);//给选中行添加样式 [hasSelected?"removeClass":"addClass"]根据是否包含移除和添加样式 
}); 
//鼠标移动上去变色 
$("tbody>tr",this).mouseover(function(){ 
$(this).addClass(option.over); 
}); 
//鼠标移出时变回原来的样式 
$("tbody>tr",this).mouseout(function(){ 
$(this).removeClass(option.over); 
}); 
return this;//返回this,使方法可链 注意 这里必须返回 否则无法直接的调用方法 
} 
}); 
})(jQuery);//这个地方(jquery)必须加上,不然会报错 
//调用方法 
// $(".TableList").SetTableBgColor({ 
// odd:"", 
// even:"alt", 
// selected:"selected", 
// over:"over" 
// });

/201012/yuanma/SetTableBgColor.rar
Javascript 相关文章推荐
不懂JavaScript应该怎样学
Apr 16 Javascript
JavaScript Undefined,Null类型和NaN值区别
Oct 22 Javascript
jquery实现居中弹出层代码
Aug 25 Javascript
De facto standard 世界上不可思议的事实标准
Aug 29 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
Mar 01 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
深入理解ECMAScript的几个关键语句
Jun 01 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
Jul 11 Javascript
微信小程序使用component自定义toast弹窗效果
Nov 27 Javascript
VUE实现自身整体组件销毁的示例代码
Jan 13 Javascript
jQuery Clone Bug解决代码
Dec 22 #Javascript
修改jquery.lazyload.js实现页面延迟载入
Dec 22 #Javascript
jquery插件 autoComboBox 下拉框
Dec 22 #Javascript
Jquery截取中文字符串的实现代码
Dec 22 #Javascript
jquery里的each使用方法详解
Dec 22 #Javascript
jQuery学习笔记之jQuery的动画
Dec 22 #Javascript
jQuery学习笔记之jQuery的事件
Dec 22 #Javascript
You might like
一个经典的PHP文件上传类分享
2014/11/18 PHP
php jsonp单引号转义
2014/11/23 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
JavaScript同源策略和跨域访问实例详解
2018/04/03 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
详细介绍Python函数中的默认参数
2015/03/30 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
使用python绘制二维图形示例
2019/11/22 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
会计专业应届生自荐信
2014/06/28 职场文书
2014年工程工作总结
2014/11/25 职场文书
入党积极分子考察意见
2015/06/02 职场文书
七个Python必备的GUI库
2021/04/27 Python