zoukankan      html  css  js  c++  java
  • JS实现table表格在鼠标移动出现一行变色或者十字叉变色

    1,一行变色

    <script>
                function trBg(){
                    var tab=document.getElementById("table");
                    var tr=tab.getElementsByTagName("tr");
                    for(var i=0;i<tr.length;i++){
                        if(i%2==0){
                            tr[i].style.backgroundColor="#fff";
    
                            tr[i].onmouseover=function(){
                                this.style.background="red";
                            };
                            tr[i].onmouseout=function(){
                                this.style.background="#fff";
                            }
                        }else{
                            tr[i].style.backgroundColor="#fff";
    
                            tr[i].onmouseover=function(){
                                this.style.background="blue";
                            };
                            tr[i].onmouseout=function(){
                                this.style.background="#fff";
                            }
                        }
                    }
                }
            window.onload=trBg;
    </script>
    <table id="table" border="1" width="400" cellspacing="0" cellpadding="0">
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
        <tr>
            <td>11111</td>
            <td>22222</td>
            <td>33333</td>
            <td>44444</td>
            <td>55555</td>
        </tr>
    </table>

    2,十字叉变色

    <table id="table" border="1" width="600" cellspacing="0" cellpadding="0"></table>
    
    <script>
        
        
        var html = '';
        for(var i = 0; i < 10; i++){
            html += '<tr>'
            for(var j = 0; j < 10; j++){
                html += '<td data-index="'+ i + '-' + j +'">' + i + '-'+ j + '</td>'
            }
            html += '</tr>'
        }
        document.getElementById("table").innerHTML = html;
    
        
        var table = document.getElementById("table"); 
        if(table.rows.length > 0){
            var rows = table.rows;
            for(var i=0; i<rows.length; i++){
                (function(i){
                    var tds=rows[i];
                    for(var j=0; j<tds.cells.length; j++){
                        var obj=tds.cells[j];
                        obj.onmouseover=function(e){
                            var val = this.getAttribute('data-index');
                            var x = val.split('-')[0];
                            var y = val.split('-')[1];
                            console.log(val)
    
                            var tds = document.getElementsByTagName("td");
                            for(var k=0; k<tds.length; k++){
                                tds[k].style.backgroundColor="#fff";
                            }
                            
                            table.rows[i].style.backgroundColor="red";
                            
                            for(var k=0; k<rows[i].cells.length; k++){
                                table.rows[x].cells[k].style.backgroundColor="red";
                            }
                            for(var k=0; k<rows.length; k++){
                                table.rows[k].cells[y].style.backgroundColor="red";
                            }
    
                        };
                    }
                })(i)
            }
    
        }
    </script>

  • 相关阅读:
    安装PetShop后调试的诸多问题
    初学FF(火狐)的扩展(Extensions)
    发现JavaScript中Number的toFixed()四舍五入时的一个问题,请教大虾!(原来是浏览器问题)
    PHP哪用手工配置啊。。。哎。。真是的。
    新鸟文章:foreach里的Sqlcommand(有SqlTransaction)
    说下按位异或(^)和按位与(&)的一点知识(没技术含量的)
    How browers work?
    开篇:希望结交各位,共同学习进步!
    第01章 基础知识
    20060818网摘
  • 原文地址:https://www.cnblogs.com/i-tao/p/11676153.html
Copyright © 2011-2022 走看看