基于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 相关文章推荐
js树形控件脚本代码
Jul 24 Javascript
js 可拖动列表实现代码
Dec 13 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
javascript检测flash插件是否被禁用的方法
Jan 14 Javascript
jQuery 更改checkbox的状态,无效的解决方法
Jul 22 Javascript
js常用DOM方法详解
Feb 04 Javascript
学习使用jQuery表单验证插件和日历插件
Feb 13 Javascript
Vue实现选择城市功能
May 27 Javascript
微信小程序时间控件picker view使用详解
Dec 28 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获取数组中重复数据的两种方法
2013/06/28 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
php生成二维码
2015/08/10 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
图片翻转效果具体实现代码
2014/01/09 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
跟老齐学Python之永远强大的函数
2014/09/14 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
flask利用flask-wtf验证上传的文件的方法
2020/01/17 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
一个精品风格的世界:Atterley
2019/05/01 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
化妆师职业生涯规划书
2014/02/16 职场文书
应届大专生自荐书
2014/06/16 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
副总经理岗位职责
2015/02/02 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python