• day16--Dom鼠标操作


    1、有一个表格,当鼠标移动到某行时,该行变红,移除时,变为白色

    <body> 
            <table border="1" width="300px">
                <tr onmouseover="t1(0);" onmouseout="t2(0);">
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
                <tr onmouseover="t1(1);" onmouseout="t2(1);">
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
                <tr onmouseover="t1(2);" onmouseout="t2(2);">
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
            </table>
            <script>
                function t1(n){
                    var myTrs=document.getElementsByTagName("tr")[n];
                    //console.log(myTrs);
                    myTrs.style.backgroundColor="red";
                }
                function t2(n){
                    var myTrs=document.getElementsByTagName("tr")[n];
                    myTrs.style.backgroundColor="white";
                }
            </script>
        </body>

     该示例当鼠标移动到某一行时,改行变为红色,移开改行变为白色;

    以上代码需要将每行都进行绑定,即需要将每个tr标签进行绑定,如果tr标签太多的话,该方法可能不适用;我们可以通过以下方式来实现:

              <table border="1" width="300px">
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                </tr>
            </table>
            <script>
                var myTrs=document.getElementsByTagName("tr");
                var len=myTrs.length;
                for(var i=0;i<len;i++){
                    myTrs[i].onmouseover=function(){
                        this.style.backgroundColor="red";
                        // myTrs[i].style.backgroundColor="red";这种写法不可以
                        //谁调用该函数,this就指向谁
                    }
                    myTrs[i].onmouseout=function(){
                        this.style.backgroundColor="";
                        //谁调用该函数,this就指向谁
                    }
                }            
            </script>

    这种方式简化了一点代码;执行结果是一样的

  • 相关阅读:
    「NOI2018」 你的名字
    「刷题笔记」杂题
    关于~
    「刷题笔记」网络流
    「考试」联赛模拟40-45,晚间小测4-9
    「考试」联赛模拟36-39,noip晚间小测2-3
    「刷题笔记」莫队
    「考试」CSP-S 2020
    「考试」noip模拟9,11,13
    「刷题笔记」概率与期望
  • 原文地址:https://www.cnblogs.com/wuxiaoru/p/12593936.html
Copyright © 2020-2023  润新知