表格行鼠标事件变色的例子

表格行鼠标事件变色的例子

注:本文收藏自网络( 猪飞飞's Blog ),文责版权均为原作者所有,本人仅作收藏学习之用。
以下为引用:

做一个表格列表中整行鼠标移动变色的效果,找了一段现成代码再改了一点,加上鼠标点击变色和再点击变回原色的效果.
一个N行N列的表格,实现鼠标移到某行变色,然后点击某一行使之固定一种颜色,再点使之返回原色.原理是使<tr>保持原色,鼠标事件对<tr>下的<td>样式背景色进行改变.同时可以设置避免变色事件的行,主要是针对标题行.相信这段代码对需要做项目比较多的数据列表的朋友有用,我在google和blueidea都找了一遍,没找到完全现成的.
具体请看js代码:
< HTML >
< HEAD >
    
< TITLE > 变色表格 </ TITLE >
< style >
.c1
{
    background-color
: #fff ;
}
.c2
{
    background-color
: #ccc ;
}
#nc
{
    background-color
: #000 ;
    color
: #fff ;
}
</ style >
< script >
var   highlightcolor = ' #333 ' ;
// 此处clickcolor只能用win系统颜色代码才能成功,如果用#xxxxxx的代码就不行,还没搞清楚为什么:(
var   clickcolor = ' orange ' ;
function   changeto(){
source
= event.srcElement;
if   (source.tagName == " TR " || source.tagName == " TABLE " )
return ;
while (source.tagName != " TD " )
source
= source.parentElement;
source
= source.parentElement;
cs  
=   source.children;
// alert(cs.length);
if   (cs[ 1 ].style.backgroundColor != highlightcolor && source.id != " nc " && cs[ 1 ].style.backgroundColor != clickcolor)
for (i = 0 ;i < cs.length;i ++ ){
    cs[i].style.backgroundColor
= highlightcolor;
}
}

function   changeback(){
if   (event.fromElement.contains(event.toElement) || source.contains(event.toElement) || source.id == " nc " )
return
if   (event.toElement != source && cs[ 1 ].style.backgroundColor != clickcolor)
// source.style.backgroundColor=originalcolor
for (i = 0 ;i < cs.length;i ++ ){
    cs[i].style.backgroundColor
= "" ;
}
}

function   clickto(){
source
= event.srcElement;
if   (source.tagName == " TR " || source.tagName == " TABLE " )
return ;
while (source.tagName != " TD " )
source
= source.parentElement;
source
= source.parentElement;
cs  
=   source.children;
// alert(cs.length);
if   (cs[ 1 ].style.backgroundColor != clickcolor && source.id != " nc " )
for (i = 0 ;i < cs.length;i ++ ){
    cs[i].style.backgroundColor
= clickcolor;
}
else
for (i = 0 ;i < cs.length;i ++ ){
    cs[i].style.backgroundColor
= "" ;
}
}
</ script >
</ HEAD >
< BODY >
< div   id ='snwcwt' >
    
< table   width ="1400"   border ="0"   cellspacing ="1"   cellpadding ="1"   onMouseover ="changeto()"   onMouseout ="changeback()"   onclick ="clickto()" >
        
< tr   id ="nc" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
< tr   class ="c1" >   
            
< td > dddd </ td >
            
< td > kkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkkk </ td >
            
< td > kkkk </ td >
        
</ tr >
        
< tr   class ="c2" >   
            
< td > kkkk </ td >
            
< td > kk </ td >
            
< td > k </ td >
            
< td > k </ td >
            
< td > k </ td >
        
</ tr >
    
</ table >

</ div >

</ BODY >
</ HTML >

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值