JS实现鼠标悬停变色

你的名字 2024-03-31 16:06 124阅读 0赞

JS实现鼠标悬停变色

案例池子
JS实现鼠标悬停变色
JavaScript中的排他算法实现按钮单选
JavaScript中的localStorage
JavaScript中的sessionStorage
JavaScript实现网页关灯效果
JavaScript实现一段时间之后关闭广告
JavaScript实现按键快速获取输入框光标

效果演示

在这里插入图片描述

概述

本文实现的是利用JS实现当鼠标悬停在表格上的时候,表格发生变色。

HTML骨架

  1. <body>
  2. <table>
  3. <thead>
  4. <tr>
  5. <th>班级</th>
  6. <th>学号</th>
  7. <th>姓名</th>
  8. </tr>
  9. </thead>
  10. <tbody>
  11. <tr>
  12. <td>计科</td>
  13. <td>223312</td>
  14. <td>李华</td>
  15. </tr>
  16. <tr>
  17. <td>计科</td>
  18. <td>223312</td>
  19. <td>李华</td>
  20. </tr>
  21. <tr>
  22. <td>计科</td>
  23. <td>223312</td>
  24. <td>李华</td>
  25. </tr>
  26. <tr>
  27. <td>计科</td>
  28. <td>223312</td>
  29. <td>李华</td>
  30. </tr>
  31. <tr>
  32. <td>计科</td>
  33. <td>223312</td>
  34. <td>李华</td>
  35. </tr>
  36. <tr>
  37. <td>计科</td>
  38. <td>223312</td>
  39. <td>李华</td>
  40. </tr>
  41. </tbody>
  42. </table>
  43. </body>

CSS渲染

  1. <style>
  2. /* 设置表格table的样式 */
  3. table {
  4. /* 设置表格宽度 */
  5. width: 800px;
  6. /* 设置表格的外边距 */
  7. margin: 100px auto;
  8. /* 设置表格中的文本居中 */
  9. text-align: center;
  10. /* 设置边框会合并为一个单一的边框 */
  11. border-collapse: collapse;
  12. /* 设置字体大小 */
  13. font-size: 14px;
  14. }
  15. thead tr {
  16. /* 设置表头的行高 */
  17. height: 30px;
  18. /* 设置表头的每格的颜色 */
  19. background-color: skyblue;
  20. }
  21. tbody tr {
  22. /* 设置表格本体的每行的高度 */
  23. height: 30px;
  24. }
  25. tbody td {
  26. /* 设置表格的样式 */
  27. border-bottom: 1px solid #d7d7d7;
  28. font-size: 12px;
  29. color: blue;
  30. }
  31. .bg {
  32. /* 当被选择的时候的背景颜色 */
  33. background-color: pink;
  34. }
  35. </style>

JS逻辑

`

  1. <script>
  2. // 1.获取元素 获取的是 tbody 里面所有的行
  3. var trs = document.querySelector('tbody').querySelectorAll('tr');
  4. // 2. 利用循环绑定注册事件
  5. for (var i = 0; i < trs.length; i++) {
  6. // 3. 鼠标经过事件 onmouseover 当鼠标经过的时候
  7. // 给表格添加一个背景属性
  8. trs[i].onmouseover = function() {
  9. this.className = 'bg';
  10. }
  11. // 4. 鼠标离开事件 onmouseout
  12. trs[i].onmouseout = function() {
  13. this.className = '';
  14. }
  15. }
  16. </script>

完整代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. /* 设置表格table的样式 */
  10. table {
  11. /* 设置表格宽度 */
  12. width: 800px;
  13. /* 设置表格的外边距 */
  14. margin: 100px auto;
  15. /* 设置表格中的文本居中 */
  16. text-align: center;
  17. /* 设置边框会合并为一个单一的边框 */
  18. border-collapse: collapse;
  19. /* 设置字体大小 */
  20. font-size: 14px;
  21. }
  22. thead tr {
  23. /* 设置表头的行高 */
  24. height: 30px;
  25. /* 设置表头的每格的颜色 */
  26. background-color: skyblue;
  27. }
  28. tbody tr {
  29. /* 设置表格本体的每行的高度 */
  30. height: 30px;
  31. }
  32. tbody td {
  33. /* 设置表格的样式 */
  34. border-bottom: 1px solid #d7d7d7;
  35. font-size: 12px;
  36. color: blue;
  37. }
  38. .bg {
  39. /* 当被选择的时候的背景颜色 */
  40. background-color: pink;
  41. }
  42. </style>
  43. </head>
  44. <body>
  45. <table>
  46. <thead>
  47. <tr>
  48. <th>班级</th>
  49. <th>学号</th>
  50. <th>姓名</th>
  51. </tr>
  52. </thead>
  53. <tbody>
  54. <tr>
  55. <td>计科</td>
  56. <td>223312</td>
  57. <td>李华</td>
  58. </tr>
  59. <tr>
  60. <td>计科</td>
  61. <td>223312</td>
  62. <td>李华</td>
  63. </tr>
  64. <tr>
  65. <td>计科</td>
  66. <td>223312</td>
  67. <td>李华</td>
  68. </tr>
  69. <tr>
  70. <td>计科</td>
  71. <td>223312</td>
  72. <td>李华</td>
  73. </tr>
  74. <tr>
  75. <td>计科</td>
  76. <td>223312</td>
  77. <td>李华</td>
  78. </tr>
  79. <tr>
  80. <td>计科</td>
  81. <td>223312</td>
  82. <td>李华</td>
  83. </tr>
  84. </tbody>
  85. </table>
  86. <script>
  87. // 1.获取元素 获取的是 tbody 里面所有的行
  88. var trs = document.querySelector('tbody').querySelectorAll('tr');
  89. // 2. 利用循环绑定注册事件
  90. for (var i = 0; i < trs.length; i++) {
  91. // 3. 鼠标经过事件 onmouseover 当鼠标经过的时候
  92. // 给表格添加一个背景属性
  93. trs[i].onmouseover = function() {
  94. this.className = 'bg';
  95. }
  96. // 4. 鼠标离开事件 onmouseout
  97. trs[i].onmouseout = function() {
  98. this.className = '';
  99. }
  100. }
  101. </script>
  102. </body>
  103. </html>

发表评论

表情:
评论列表 (有 0 条评论,124人围观)

还没有评论,来说两句吧...

相关阅读

    相关 CSS鼠标悬停

    > 在学习中遇到许多好看的样式,虽然只是用HTML+CSS简单的实现,仅作为我的学习笔记和同爱好学习者的分享: 先看效果 ![这里写图片描述][70] HTM