表格中,鼠标放上去的行变色,离开恢复原来颜色

本文介绍了一段JavaScript代码,该代码实现了一个简单的功能:当鼠标悬停在HTML表格的某一行上时,该行及其包含的所有单元格背景颜色会发生变化;当鼠标移开时,颜色则恢复原状。此功能通过jQuery库实现。

JS代码

/*
表格中,鼠标放上去的行变色
使用  
<tbody id="tdata">
    .........
</tbody>
*/
$(function () {
    var tr = $("#tdata tr");
    tr.mouseover(function () {
        $(this).css("background-color", "#AEF2E5");
        $(this).children("td").css("background-color", "#AEF2E5");
    }).mouseout(function () {
        $(this).css("background-color", "#FFFFFF");
        $(this).children("td").css("background-color", "#FFFFFF");
    });
});

### SVG鼠标交互功能实现 为了实现SVG图形的鼠标交互效果,包括悬停变色离开恢复以及单点选择变色的功能,可以通过CSS和JavaScript来完成。以下是具体的实现方式: #### 悬停变色 通过CSS中的`:hover`伪类可以直接定义当鼠标悬浮在SVG元素上的样式变化。 ```css svg:hover rect, svg:hover path { fill: blue; /* 设置新的填充颜色 */ } ``` 此部分代码利用了CSS的选择器特性[^1],能够轻松实现鼠标的悬停变色效果。 #### 离开恢复原色 默认情况下,一旦移除`:hover`状态,SVG会自动恢复到原始样式,因此无需额外编写逻辑处理这一为。这是由浏览器的标准渲染机制决定的。 #### 单点击选中并保持变色 对于单击事件触发后的持久化变色需求,则需借助JavaScript动态修改目标元素的属性或添加特定的class名称以应用不同的样式规则。 ```javascript document.querySelectorAll('rect, path').forEach(function(element) { element.addEventListener('click', function() { this.classList.toggle('selected'); // 切换 'selected' 类名 }); }); ``` 配合相应的CSS规则如下所示: ```css .selected { fill: green !important; /* 被选中时强制设置新颜色 */ } ``` 以上脚本片段实现了用户每次点击某个形状后该对象会在正常显示与高亮之间切换的效果[^3]。 综合上述技术要点可构建完整的解决方案框架如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>SVG Mouse Interaction</title> <style> svg:hover rect:not(.selected), svg:hover path:not(.selected){ fill: orange; } .selected{ fill:green!important; } </style> </head> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="100px"> <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="#f00"/> </svg> <script> // JavaScript for click interaction document.querySelector('svg circle').addEventListener('click',function(){ this.classList.toggle('selected'); }); </script> </body> </html> ``` 这段HTML文档展示了如何结合使用CSS和简单的JS监听程序创建具有基本互动能力的小型网页组件实例之一——圆形按钮样式的SVG图标[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值