博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
表格行鼠标事件变色的例子
阅读量:4117 次
发布时间:2019-05-25

本文共 6043 字,大约阅读时间需要 20 分钟。

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

注:本文收藏自网络(
),文责版权均为原作者所有,本人仅作收藏学习之用。
以下为引用:
做一个表格列表中整行鼠标移动变色的效果,找了一段现成代码再改了一点,加上鼠标点击变色和再点击变回原色的效果.
一个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
>
 

转载地址:http://zqcpi.baihongyu.com/

你可能感兴趣的文章
你是怎么学习 NLP 的?
查看>>
免费 Chat | 从 JavaScript 到 TypeScript
查看>>
Spring MVC 过时了吗?
查看>>
不学设计模式,源码你都看不懂!
查看>>
大数据“重磅炸弹”:实时计算框架 Flink
查看>>
算法入门,其实可以像读小说一样有趣
查看>>
给后端程序员看的 Vue 快速入门教程
查看>>
从事 Linux 开发一定要熟悉 GDB
查看>>
为什么推荐系统已成标配?
查看>>
CSDN社区运营午餐会第15期–发现你对骑行的热爱
查看>>
Python 程序员应读的 7 本经典书籍
查看>>
MQTT 万物互联第一步,物联网圈的 HTTP
查看>>
饿了么即时配送分流的可运营架构演变
查看>>
快速入门深度学习,从 Deeplearning4j 开始
查看>>
操作系统基础: C 语言实现用户态线程(实战)
查看>>
如何成为一名合格的 C/C++ 开发者?
查看>>
唉,offer 拿到手软怎么破!
查看>>
从 JavaScript 到 Vue 组件的快速开发
查看>>
码农租房有学问
查看>>
日本 IT 圈神作之书,好懂得可怕
查看>>