zoukankan      html  css  js  c++  java
  • Table tr 的隔行变色

    <style type="text/css">
        table{border-collapse:collapse;border:1px solid #999;}
     td{border:1px solid #999;}


     #table tr.color1{
        background-color:#fafafa;
    }
        #table tr.color2{
        background-color:#f7fbfe;
    }
     </style>

    <script type="text/javascript">

       var tableid='table';      
      var overcolor='#EEEEEE';   
      var color1='#FFFFFF';       
      var color2='#F8F8F8';       
      
      var tablename=document.getElementByIdx_x_x(tableid)
      
      var tr=tablename.getElementsByTagName_r("tr")
     
         for(var i=1;i<tr.length;i++){
           tr[i].onmouseover=function(){
           this.style.background=overcolor;
         }
         tr[i].onmouseout=function(){
           if(this.rowIndex%2==0){ //获取当前行的索引
     this.style.background=color1;

     }else{
          this.style.background=color2;
        }
         }
         if(i%2==0){
            tr[i].className='color1';
         }else{
             tr[i].className='color2';
         }
        
      }
      }
      window.onload=showtable;
    </script>

    首先是: i/2==0判断是否是偶数

    ==================================================

    jquery 判断

    <script type="text/javascript">
    $(document).ready(function(){
           $(".table tr:even").addClass("alt");
      $(".table tr").mouseover(function(){ 
                 
            $(this).addClass("over");}).mouseout(function(){
                                    //给这行添加class值为over,并且当鼠标一出该行时执行函数
            $(this).removeClass("over");}).click(function(){ //移除该行的class
      
     $(this).toggleClass("click").removeClass("alt")})
    });
    </script>

    执行点击时:切换颜色.并且移除原有的背景色。

    =======================方法1==============

    //test
     $(".test tr:even").addClass('odd');
         $(".test tr").hover(function(){$(this).addClass('highlight')},function(){$(this).removeClass('highlight')});
      //click
      $(".test tr").click(function(){
        $(this).toggleClass('selected');
      })

    ==============方法2(推荐)===============

     $(".test tr:even").addClass('odd');
         $(".test tr").hover(function(){$(this).addClass('highlight')},function(){$(this).removeClass('highlight')});
      //默认选中添加样式
      $(this).find("input[type=checkbox]:checked").parents('tr').addClass('selected');
      //click
     
      $(".test tr").click(function(){

        if($(this).hasClass('selected')){
     
       $(this).removeClass('selected');
     
       $(this).find("input[type=checkbox]").removeAttr('checked');
      
     }else{
       $(this).addClass('selected');
        $(this).find("input[type=checkbox]").attr("checked",true); 
     }
      })

    参考:http://www.codefans.net/jscss/code/2542.shtml

  • 相关阅读:
    bzoj3816 矩阵变换
    bzoj5029 贴小广告
    【BZOJ-1208】宠物收养所 Splay
    【BZOJ-2879】美食节 最小费用最大流 + 动态建图
    【BZOJ-1984】月下“毛景树” 树链剖分
    写在SDOI2016Round1前的To Do List
    BZOJ solve 100 纪念
    BZOJ-1143&&BZOJ-2718 祭祀river&&毕业旅行 最长反链(Floyed传递闭包+二分图匹配)
    【SDOI2009】解题汇总
    BZOJ-1879 Bill的挑战 状态压缩DP
  • 原文地址:https://www.cnblogs.com/Damon-Luo/p/6297232.html
Copyright © 2011-2022 走看看