JS表格隔行变色效果的实现方法及注意事项是什么

Admin 2022-11-15 群英技术资讯 272 次浏览

这篇文章主要介绍“JS表格隔行变色效果的实现方法及注意事项是什么”,有一些人在JS表格隔行变色效果的实现方法及注意事项是什么的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。




免费资源网,https://freexyz.cn/

用到的鼠标事件:(1)鼠标经过 onmouseover;(2)鼠标离开 onmouseout

核心思路:鼠标经过 tr 行的时候,当前行会改变背景颜色,鼠标离开的时候去掉背景颜色。

注意:第一行(thead 里面的行)不需要变换颜色,改变的是 tbody 里面的行。

1、获取元素,获取的是 tbody里面的行。

2、循环注册绑定事件,将 tbody 里面全部的行都得到,然后全部都注册鼠标经过和离开事件。

3、所有行绑定鼠标经过事件,鼠标经过当前元素(this)改变颜色;

4、所有行绑定鼠标离开事件,鼠标离开当前元素(this)没有颜色;

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格隔行变色</title>
  <style type="text/css">
      *{
          margin:0;padding: 0;
      }
      table{
          width:500px;
          position:relative;
          margin:100px auto;
          border-collapse:collapse;
          /*合并表格单一边框*/
          border:1px solid #d7d7d7;
      }
      thead tr{
          background-color:#ccc;
          height:30px;
      }
      table tr{
          text-align: center;
          height:30px;
      }
      .bg{
          background: #eee;
      }
</style>
</head>
<body>
<table  border=1>
    <thead>
        <tr>
            <td width="40">序号</td>
            <td width="100">前端单词</td>
            <td width="80">基本释义</td>
            <td width="50">长度</td>
            <td width="">补充</td>
        </tr>
    </thead>
    <tbody>
        <tr>
                   <td>1</td>
                   <td>select</td>
                   <td>选择</td>
                   <td>6</td>
                   <td>-</td>
             </tr>
             <tr>
                   <td>2</td>
                   <td>target</td>
                   <td>目标</td>
                   <td>6</td>
                   <td>-</td>
             </tr>
             <tr>
                   <td>3</td>
                   <td>input </td>
                   <td>输出</td>
                   <td>5</td>
                   <td>-</td>
             </tr>
             <tr>
                   <td>4</td>
                   <td>button</td>
                   <td>按钮</td>
                   <td>8</td>
                   <td>-</td>
             </tr>
             <tr>
                   <td>5</td>
                   <td>checkbox</td>
                   <td>复选框</td>
                   <td>8</td>
                   <td>-</td>
             </tr>
    </tbody>
</table>
<script>
    //1、获取tbody里面的所有的行
    var trs = document.querySelector('tbody').querySelectorAll('tr');
    //2、利用循环注册事件
    for(var i = 0;i<trs.length;i++){
        var bgc = function(e){this.className = 'bg';}
        trs[i].addEventListener('mouseover',bgc)
        trs[i].onmouseout = function(){
            this.className = '';
        }
    }
</script>
</body>
</html>

显示效果:

当鼠标滑过时:

当鼠标离开时:

当然这个效果使用 CSS的 :hover 可以非常简单的实现(tbody tr:hover{background: #eee;}),但是在这个例子中主要想体现的是使用JS事件和排他思想实现的效果。


到此这篇关于“JS表格隔行变色效果的实现方法及注意事项是什么”的文章就介绍到这了,更多相关JS表格隔行变色效果的实现方法及注意事项是什么内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服