怎样实现鼠标移到表格,表格行背景色就变?

本文要实现下面的效果,即: 鼠标移到表格,表格行背景色会改变。

Product CodePriceBalance
NHP005100.23In Stock
DOY00221.32In Stock
DCN00136.5Out of Stock

下面介绍三种实现方法:

第一种: IE 支持,FireFox 不支持; 优点是代码简洁,节省空间; 缺点是表头(即表格第一行的颜色也会变化,这不是我所期望的)的背景色也会因鼠标滑过而改变。(适用于页面上只有一个表格,如果页面上有多个表格则会乱套。)

<style type="text/css">
tr{background-color:#FFFFFF; cursor:default}
.trOver{background-color:#CCCCCC; cursor:default}
.trOut{background-color:#FFFFFF; cursor:default}
</style>

<script language="javascript">
function document.onmouseover(){ 
    set(event.srcElement,"trOver") 

  
function document.onmouseout(){ 
    set(event.srcElement,"trOut") 

  
function set(obj,ClassName){ 
    if(!obj)return; 
    if(obj.tagName=="TR") {
        obj.className=ClassName;
        return;
    }else{
        set(obj.parentElement,ClassName);
    } 
}
</script>

<table border="1" width="85%" align="center">
<tbody>
    <tr align="left">
        <th>Product Code</th>
        <th>Price</th>
        <th>Balance</th>
    </tr>
    <tr>
        <td>NHP005</td>
        <td>100.23</td>
        <td>In Stock</td>
    </tr>
    <tr>
        <td>DOY002</td>
        <td>21.32</td>
        <td>In Stock</td>
    </tr>
    <tr>
        <td>DCN001</td>
        <td>36.5</td>
        <td>Out of Stock</td>
    </tr>
</tbody>
</table>

第二种: IE支持,FireFox 不支持; 表头的背景色不会因鼠标滑过而改变; 缺点是代码繁多

<script language="javascript">
<!--
function mOver(src, cOver){
    if(!src.contains(event.fromElement)){
        src.style.curse = "default";
        src.bgColor = cOver;
    }
}

function mOut(src, cOut){
    if(!src.contains(event.toElement)){
        src.style.curse = "default";
        src.bgColor = cOut;
    }
}

//-->  
</script>   
 
<table border="1" width="85%" align="center">
<tbody>
    <tr align="left">
        <th>Product Code</th>
        <th>Price</th>
        <th>Balance</th>
    </tr>
    <tr οnmοuseοut="mOut(this,'');" οnmοuseοver="mOver(this,'CCCCCC');">
        <td>NHP005</td>
        <td>100.23</td>
        <td>In Stock</td>
    </tr>
    <tr οnmοuseοut="mOut(this,'');" οnmοuseοver="mOver(this,'CCCCCC');">
        <td>DOY002</td>
        <td>21.32</td>
        <td>In Stock</td>
    </tr>
    <tr οnmοuseοut="mOut(this,'');" οnmοuseοver="mOver(this,'CCCCCC');">
        <td>DCN001</td>
        <td>36.5</td>
        <td>Out of Stock</td>
    </tr>
</tbody>
</table>

第三种: IE 支持,FireFox 支持; 表头的背景色不会因鼠标滑过而改变; 缺点是代码繁多

<table border="1" width="85%" align="center">
<tbody>
    <tr align="left">
        <th>Product Code</th>
        <th>Price</th>
        <th>Balance</th>
    </tr>
    <tr onMouseOut="this.bgColor=''" onMouseOver="this.bgColor='CCCCCC'">
        <td>NHP005</td>
        <td>100.23</td>
        <td>In Stock</td>
    </tr>
    <tr onMouseOut="this.bgColor=''" onMouseOver="this.bgColor='CCCCCC'">
        <td>DOY002</td>
        <td>21.32</td>
        <td>In Stock</td>
    </tr>
    <tr onMouseOut="this.bgColor=''" onMouseOver="this.bgColor='CCCCCC'">
        <td>DCN001</td>
        <td>36.5</td>
        <td>Out of Stock</td>
    </tr>
</tbody>
</table>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值