基于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 相关文章推荐
33种Javascript 表格排序控件收集
Dec 03 Javascript
jquery.validate使用攻略 第一部
Jul 01 Javascript
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 Javascript
jQuery中:password选择器用法实例
Jan 03 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
Jquery获取第一个子元素简单实例
Jun 02 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
Vue单页应用引用单独的样式文件的两种方式
Mar 30 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
详解vue的数据劫持以及操作数组的坑
Apr 18 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 26 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
B2K与车机的中波PK
2021/03/02 无线电
PHP 变量的定义方法
2010/01/26 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
iframe的父子窗口之间的对象相互调用基本用法
2013/09/03 Javascript
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
2019/09/24 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
python区分不同数据类型的方法
2019/10/14 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
2020/06/05 Python
Python 如何展开嵌套的序列
2020/08/01 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
使用phonegap检测网络状态的方法
2017/03/30 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
新闻系毕业生推荐信
2013/11/16 职场文书
工地安全检查制度
2014/02/04 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python