在JavaScript中实现鼠标经过表格行颜色变化的功能,主要涉及到DOM操作和事件监听。以下是详细解释及相关代码示例:
mouseover
和mouseout
),在事件发生时执行相应的函数。mouseover
和mouseout
事件,分别处理鼠标进入和离开时的样式变化。<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>鼠标经过表格颜色变化示例</title>
<style>
table {
width: 50%;
border-collapse: collapse;
}
td, th {
border: 1px solid #ddd;
padding: 8px;
}
tr:hover {
background-color: #f1f1f1; /* CSS实现鼠标悬停效果 */
}
.highlight {
background-color: #ffeb3b; /* JavaScript控制的颜色 */
}
</style>
</head>
<body>
<table id="myTable">
<tr><th>姓名</th><th>年龄</th></tr>
<tr><td>张三</td><td>25</td></tr>
<tr><td>李四</td><td>30</td></tr>
<tr><td>王五</td><td>28</td></tr>
</table>
<script>
// 获取所有表格行(排除表头)
const rows = document.querySelectorAll('#myTable tr');
rows.forEach(row => {
row.addEventListener('mouseover', function() {
this.classList.add('highlight'); // 添加高亮类
});
row.addEventListener('mouseout', function() {
this.classList.remove('highlight'); // 移除高亮类
});
});
</script>
</body>
</html>
.highlight
类用于设置鼠标悬停时的背景颜色。tr:hover
伪类展示了如何仅使用CSS实现鼠标悬停效果(可选,根据需求决定是否使用)。document.querySelectorAll
选择所有表格行。mouseover
和mouseout
事件监听器。mouseover
事件中,给当前行添加.highlight
类,改变背景颜色。mouseout
事件中,移除.highlight
类,恢复原始颜色。.highlight
类的样式被正确应用。通过以上方法,你可以轻松实现鼠标经过表格行颜色变化的功能,并根据具体需求进行调整和优化。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云