请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 29748|回复: 104

超简单表格隔行换色+鼠标经过变色(ie6,ie7,ff) [复制链接]

hutchin 楼主

蔚蓝的故乡

银牌会员 手机认证 

帖子
1969
体力
2708
威望
1
居住地
辽宁省 沈阳市
发表于 2008-5-15 22:49:10 |显示全部楼层
前几天由于工作需要,要对一个表格进行隔行换色,还要加上鼠标经过效果,但是表格由程序生成,如果在tr标签中添加onmouseover,onmouseout效果的话工作量很大,遂尝试用js实现以上功能,唯一要对表格做的改动就是给table标签加上id.

从网上搜索了很多方法,几乎都是对tr标签进行修改,还好找到了一个完全通过js实现隔行换色的(经过转载已无法考证作者),不过不支持鼠标经过变色,经过我的修改现在已经支持鼠标经过变色了.
这段代码体现了web重构的思想,实现了结构与表现分离.

请看效果:

 提示:您可以先修改部分代码再运行



使用方法:
1.给你的table加上一个id.这个例子中我加的id是table.
2.将以下代码插入到head区中,按照注释修改颜色和id.
  1. <style language="text/css">
  2. /*第一种颜色*/
  3. #table tr.color1{
  4.         background-color:#FFFFFF;
  5. }
  6. /*第二种颜色*/
  7. #table tr.color2{
  8.         background-color:#F8F8F8;
  9. }
  10. </style>
  11. <script type="text/javascript">
  12. <!--
  13. function onloadEvent(func){
  14.         var one=window.onload
  15.         if(typeof window.onload!='function'){
  16.                 window.onload=func
  17.         }
  18.         else{
  19.                 window.onload=function(){
  20.                         one();
  21.                         func();
  22.                 }
  23.         }
  24. }
  25. function showtable(){
  26.         var tableid='table';                //表格的id
  27.         var overcolor='#FCF9D8';        //鼠标经过颜色
  28.         var color1='#FFFFFF';                //第一种颜色
  29.         var color2='#F8F8F8';                //第二种颜色
  30.         var tablename=document.getElementById(tableid)
  31.         var tr=tablename.getElementsByTagName("tr")
  32.         for(var i=1 ;i<tr.length;i++){
  33.                 tr[i].onmouseover=function(){
  34.                         this.style.backgroundColor=overcolor;
  35.                 }
  36.                 tr[i].onmouseout=function(){
  37.                         if(this.rowIndex%2==0){
  38.                                 this.style.backgroundColor=color1;
  39.                         }else{
  40.                                 this.style.backgroundColor=color2;
  41.                         }
  42.                 }
  43.                 if(i%2==0){
  44.                         tr[i].className="color1";
  45.                 }else{
  46.                         tr[i].className="color2";
  47.                 }
  48.         }
  49. }
  50. onloadEvent(showtable);
  51. -->
  52. </script>
复制代码

3.enjoy it.

感谢原作者,也谢谢你用一点点时间看完了我这个帖子.希望这段代码能给你带来方便.
已有 1 人评分威望 收起 理由
caiying2007 + 1 支持原创

总评分: 威望 + 1   查看全部评分

代码要像美女的裙子,越短越好
西部数码顶级域名注册商39元抢注!
noker 
帖子
44
体力
85
威望
0
发表于 2008-5-15 23:25:07 |显示全部楼层
嘿嘿,我还是喜欢Jquery的,更简单:)
极品打杂!
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

chong6 
帖子
815
体力
3513
威望
0
发表于 2008-5-16 07:30:09 |显示全部楼层
2楼发jquery的出来看看``

使用道具 举报

天天向网NET

钻石会员

帖子
2229
体力
7366
威望
1
居住地
广东省 深圳市
发表于 2008-5-16 10:47:34 |显示全部楼层
不错,正好需要的
商丘网站建设
http://www.dx359.com/

使用道具 举报

西瓜别

银牌会员

帖子
259
体力
1229
威望
0
居住地
湖南省 长沙市
发表于 2008-5-16 21:02:58 |显示全部楼层
不错.支持.

jquery的没见过.谁发出来看看啊.

使用道具 举报

的士司机

金牌会员 手机认证 

帖子
1422
体力
4899
威望
0
居住地
广东省 深圳市
发表于 2008-5-17 00:12:56 |显示全部楼层
jquery,没必要过意的推崇它。
楼主的这份代码是不错的。

[ 本帖最后由 heluyao 于 2008-5-17 00:14 编辑 ]

使用道具 举报

by0001 

冰极峰

金牌会员

帖子
775
体力
3276
威望
29
居住地
广东省 深圳市
发表于 2008-5-17 09:33:15 |显示全部楼层
不错,谢谢楼主,精典收藏

使用道具 举报

帖子
52
体力
181
威望
0
发表于 2008-5-17 09:54:56 |显示全部楼层
谢谢  学习了!!!!!!!!!!1
最好的自己

使用道具 举报

我爱阿仙奴

银牌会员 手机认证 

帖子
571
体力
2056
威望
1
居住地
广东省 深圳市
发表于 2008-5-17 10:20:27 |显示全部楼层
本人的另类写法,兼容ie6,ie7,FF

 提示:您可以先修改部分代码再运行

<del>IE</del>

使用道具 举报

帖子
126
体力
422
威望
1
居住地
广东省 深圳市
发表于 2008-5-17 10:24:08 |显示全部楼层
好久以前写过一个,不过已经忘记了。

jQuery的写法大致如下
tr.hover{ background-color: #ddd; }
tr.even { background-color: #aaa; }
table的id为t

$("table#t tr").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")}).filter(":even").addClass("even");

使用道具 举报

SenFe 

盛飞

钻石会员 手机认证 

帖子
6222
体力
12069
威望
14
居住地
四川省 成都市
发表于 2008-5-17 12:00:29 |显示全部楼层
原来写过一个IE仅有的,现在将其改成JS版,IE7,FF,OPERQ测试通过
http://bbs.blueidea.com/viewthread.php?tid=2552061&page=1#pid2555108

 提示:您可以先修改部分代码再运行


[ 本帖最后由 SenFe 于 2008-5-17 12:02 编辑 ]
承接程序定制、修改。

使用道具 举报

西瓜别

银牌会员

帖子
259
体力
1229
威望
0
居住地
湖南省 长沙市
发表于 2008-5-17 15:48:39 |显示全部楼层
呵呵,又见盛飞老大.
我昨天也在坛子里呆到12点的,可惜没见到你.呵呵
缘分啊

使用道具 举报

帖子
219
体力
1331
威望
0
居住地
陕西省 延安市
发表于 2008-5-17 19:41:50 |显示全部楼层
我个人比较喜欢利用:hover属性的东西,感觉比较稳定。

使用道具 举报

skybot 

size

钻石会员 手机认证 

帖子
3236
体力
12466
威望
7
发表于 2008-5-18 12:17:14 |显示全部楼层
楼主那个不简单 jQUERY
    <PageScript>
        <![CDATA[
              
              $("tr").each(
                function(i)
                {
                  $(this).css(
                    {
                      color:"#000000"
                    }
                  ).css("font-size","14px");
                  this.style.background=["#ffffff","#C2DBF5"][i%2];
                }
              );
    ]]>
    </PageScript>

[ 本帖最后由 skybot 于 2008-5-18 12:19 编辑 ]
http://www.qlili.com 个人站帮点啊

使用道具 举报

hutchin 楼主

蔚蓝的故乡

银牌会员 手机认证 

帖子
1969
体力
2708
威望
1
居住地
辽宁省 沈阳市
发表于 2008-5-19 10:21:45 |显示全部楼层
相对于jquery的体积,我这个还算小了,如果只是偶尔需要的话没必要引入jquery
代码要像美女的裙子,越短越好

使用道具 举报

花会开

中级会员

帖子
157
体力
652
威望
0
居住地
山东省 菏泽市
发表于 2008-5-19 15:50:00 |显示全部楼层
LZ正解

使用道具 举报

帖子
21
体力
89
威望
0
发表于 2008-5-21 18:08:26 |显示全部楼层
在FF下 好像都不行……
ff-bb.cn

使用道具 举报

jok331 
帖子
50
体力
117
威望
0
发表于 2008-5-21 20:10:37 |显示全部楼层
学习了,,谢谢分享

[ 本帖最后由 jok331 于 2008-5-21 20:12 编辑 ]

使用道具 举报

帖子
756
体力
1819
威望
0
居住地
浙江省 杭州市
发表于 2008-5-21 20:21:10 |显示全部楼层
学习了!

使用道具 举报

skybot 

size

钻石会员 手机认证 

帖子
3236
体力
12466
威望
7
发表于 2008-5-22 12:19:12 |显示全部楼层
这个不错黑黑,有点用
http://www.qlili.com 个人站帮点啊

使用道具 举报

rlog 

勤劳的小男孩

高级会员

帖子
259
体力
646
威望
3
发表于 2008-7-14 14:59:33 |显示全部楼层

使用道具 举报

帖子
143
体力
927
威望
0
居住地
湖北省 武汉市
发表于 2008-10-4 07:33:30 |显示全部楼层
我用了,谢谢分享。
js一直是短板
http://www.kangdino.com

使用道具 举报

帖子
871
体力
2942
威望
1
居住地
重庆市 渝北区
发表于 2008-10-4 21:23:36 |显示全部楼层
留个标记以便学习
成长中...

使用道具 举报

帖子
7
体力
9
威望
0
发表于 2008-10-5 11:19:29 |显示全部楼层
谢谢,还不错

使用道具 举报

lzl777 

断线的风筝

高级会员 手机认证 

帖子
140
体力
666
威望
0
居住地
湖北省 武汉市
发表于 2008-10-5 14:23:01 |显示全部楼层
很好的效果,收藏了,谢谢

使用道具 举报

帖子
99
体力
191
威望
0
居住地
江苏省 南京市
发表于 2008-10-6 09:32:59 |显示全部楼层
都很厉害的说呀。。。

使用道具 举报

帖子
56
体力
165
威望
0
发表于 2008-10-6 09:38:17 |显示全部楼层
谢谢 标记下 收藏了

使用道具 举报

帖子
71
体力
282
威望
0
发表于 2008-10-6 10:26:49 |显示全部楼层
嗯 楼主的效果不错  主要是通过了 标准。。。

使用道具 举报

zf242 
帖子
3
体力
13
威望
0
发表于 2008-10-6 11:41:44 |显示全部楼层
很人性化 做个记号

使用道具 举报

Le0o 
帖子
38
体力
92
威望
0
居住地
江西省 赣州市
发表于 2008-10-12 20:44:52 |显示全部楼层
Mark!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 09:30 , Processed in 0.160390 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部