博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js实现表格隔行变色,鼠标在该行放上移走的变色效果,还有全选,反选等
阅读量:5971 次
发布时间:2019-06-19

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

如果表格的数据比较多的话,表格颜色很单一看起来很不方便,看到一些网站将每行的颜色隔行改掉,很清晰。

其次如果表格的每行信息很多的话,一个不小心会看跑偏,所以在此为大家提供一个解决的办法,但鼠标放上去时,该行的颜色会变成独一无二的背景颜色。

这两种效果都是改变tr的className从而达到改变tr属性的效果。

效果图如下(选中的那行就是鼠标放上去的那行,由于截图较为垃圾,所以没有截到鼠标):

代码:::

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js实现表格隔行变色效果</title>
<style>
.top{
    background-color:#F93;
    color:#30C;}
table{
    border:1px #000 dashed;
    border-collapse:collapse;
/*border-collapse 属性设置表格的边框是否被合并为一个单一的边框,还是象在标准的 HTML 中那样分开显示。
                                                   值                描述
                                                  separate     默认值。边框会被分开。不会忽略 border-spacing 和 empty-cells 属性。
                                                  collapse     如果可能,边框会合并为一个单一的边框。会忽略 border-spacing 和 empty-cells 属性。
                                                  inherit         规定应该从父元素继承 border-collapse 属性的值。
    
                                                            */
    }
td,th{
        border:#000 1px solid;
        text-align:center;}
.one{
        
        background-color:#066;
        }
.two{
    background-color:#9F9;
    }
.over{
    background-color:#6CF;}
</style>
<script language="javascript">
function geHang(){
    
    //获取所有的tr
    var trlist=document.getElementsByTagName("tr");
    //判断从第二个tr起到倒数第二个tr的tr标签,因为获取tr的对象数组是从下标是从0开始的所以第二就是下表为1的tr标签倒数第二tr也就是trlist.length-1.
            for(var i=1;i<trlist.length-1;i++){
            //对对象的下标i判断,是偶数用className为one,else则为two,one和two是两种不同的属性
                        if(i%2==0){
                            trlist[i].className="one";
                            
                            }else{
                                trlist[i].className="two";
                        }
                
            //此处是鼠标放上去和移开是的一个效果,也是通过改变tr的className实现的
                    //先将鼠标一上去的那个tr的本身的颜色保存下来,以便移走后改回来原来颜色用
                    var oldcolor;
                    //给每个tr加上onmouseover事件(鼠标放上去触发)
                        trlist[i].οnmοuseοver=function(){
                        //当鼠标放上去是先将本身的class属性给了oldcolr。
                             oldcolor=this.className;
                             //然后将自己的className改为over,引用over的属性,this指的是鼠标放上去的那个tr对象。
                            this.className="over";
                            }
                    //给每个tr加上onmouseout事件(鼠标离开时触发)
                        trlist[i].οnmοuseοut=function(){
                            //当鼠标离开时将原来的className改回来,继续用原来的className属性
                            this.className=oldcolor;
                            }
                            
                    
                    
        
            }
    }
    
    
</script>
</head>
<body οnlοad="geHang()">
<table width="621" border="1" align="center">
  <tr class="top">  
    <th width="105"><A href="javascript:selectAll('qx')" type=all>全选</A></th>
    <th width="111">发件人</th>
    <th width="128">邮件名称</th>
    <th width="249">邮件附属信心</th>
  </tr>
  <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
   <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
     <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
     <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
     <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
   <tr>
  <td><input type="checkbox" name="idlist[]" value="<{$products[record].id}>"></td>
  <td>1</td>
  <td>1</td>
  <td>1</td>
  </tr>
   <tr class="top">
  <td><A href="javascript:selectAll('qx')" type=all>全选</A></td>
<td colspan="3">
  <A href="javascript:selectAll('qx')" type=all>全选</A>&nbsp;-&nbsp;
<A href="javascript:selectAll('fx')" type=reverse>反选</A>&nbsp;-&nbsp;
<A href="javascript:selectAll('qbx')" type=no>全不选</A>&nbsp;-&nbsp;
 <INPUT class="Btn BtnNml" hideFocus type=button value="删除所选附件" outClass="Btn BtnNml ImpBtn" overClass="Btn BtnHv ImpBtn" action="move" onClick="del('./delGoods.php');" />   
</td>
  </tr>
</table>
<!--全选反选和全不选就是传过去一个type值,根据type的值将idlist[]复选框的状态改掉就可以了-->
 <script  language="javascript">  
       function  selectAll(type)
       {   
           var arrObj=document.getElementsByName("idlist[]");  
    
               if(type=="qx"){
                 for(var i=0; i<arrObj.length; i++){
                    arrObj[i].checked=true;
                 }
               }  else if(type=="qbx"){
                 for(var i=0; i<arrObj.length; i++){
                    arrObj[i].checked=false;
                 }
             } else if(type=="fx"){
                 for(var i=0; i<arrObj.length; i++){
                     if(arrObj[i].checked==false){
                        arrObj[i].checked=true;
                    } else{
                            arrObj[i].checked=false;
                    }
                           
                 }
            }
     }
    
    </script>
</body>
</html>

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

你可能感兴趣的文章
一个CSS的px值转rem值的Sublime Text 3自动完成插件
查看>>
微信创始人张小龙的创业故事
查看>>
Configuring log4j
查看>>
ASP.NET Core 2.0 使用支付宝PC网站支付
查看>>
EJS 模板中,js 如何获取后端传来的数据
查看>>
ArrayList初步
查看>>
Idea debugger 无法启动-unable to open debugger port , java.net.SocketException "socket closed"
查看>>
改编163邮箱,亲测可用
查看>>
C++中const——由一个例子想到的
查看>>
并发 --- 31 进程锁 守护进程 进程队列
查看>>
Delphi中取得和设置硬盘上文件的创建日期、修改日期、访问日期、文件属性
查看>>
Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
查看>>
for each in java script
查看>>
collections deque队列及其他队列
查看>>
【NOIP2007】第三题·守望者的逃离
查看>>
CentOS 7 安装 MySQL
查看>>
1016. Phone Bills (25)
查看>>
linux 系统优化,调优
查看>>
php新写法
查看>>
第二十九天笔记
查看>>