js设置表格行的单击、鼠标移动事件,光棒效果

var setTable = function(table_id) {
var table = document.getElementById(table_id);
var rows = table.getElementsByTagName("tr");
for (i = 1; i < rows.length; i++) {// 0 is start
var srcBgColor = null;//rows[i].style.backgroundColor;
rows[i].onmouseover = function() {
srcBgColor = this.style.backgroundColor;
this.style.backgroundColor = 'red';
};
rows[i].onmouseout = function() {
// this.style.backgroundColor = '';
this.style.backgroundColor = srcBgColor;
};
// this.className='selectedRow'
rows[i].onclick = function() {
//var cell = this.getElementsByTagName("td")[1];// 0 is start
//var entryId = cell.firstChild.nodeValue;
var entryId = this.cells[1].innerText;
location.href = '${basePath}bill/bill!retrieveByEntryId.action?bill.entryId=' + entryId;
this.style.cursor = "wait";
}

}
}

window.onload = function() {
init();
setTable("bm");
}
### 实现鼠标指针悬停点击选中表格首列 为了实现当鼠标指针悬停点击时选中表格的第一列,在HTML页面上可以通过组合使用JavaScript和CSS来完成这一目标。具体来说,利用`addEventListener()`方法监听鼠标的`mouseover`以及`click`事件,并针对这些事件动态调整DOM元素的类名是直接操作其样式。 对于表格中的每一,可以为其绑定相应的事件处理函数。一旦检测到用户的交互为(即鼠标移动至某一之上者是该单击),就执特定的操作——例如更改指定单元格(这里是每的第一个单元格)的背景颜色其他视觉特性以达到“选中”的效果[^1]。 下面是一个简单的例子: #### HTML结构 ```html <table id="myTable"> <tr> <td>Row 1 Col 1</td><td>Row 1 Col 2</td> </tr> <tr> <td>Row 2 Col 1</td><td>Row 2 Col 2</td> </tr> <!-- 更多 --> </table> ``` #### JavaScript代码片段 ```javascript document.addEventListener('DOMContentLoaded', (event) => { const tableRows = document.querySelectorAll('#myTable tr'); tableRows.forEach(row => { row.addEventListener('mouseover', () => highlightFirstCell(row, true)); row.addEventListener('mouseout', () => highlightFirstCell(row, false)); row.addEventListener('click', () => selectFirstColumn()); function highlightFirstCell(trElement, addClass){ let firstTd = trElement.querySelector('td:first-child'); if(addClass){ firstTd.classList.add('selected-cell-hover'); }else{ firstTd.classList.remove('selected-cell-hover'); } } function selectFirstColumn(){ Array.from(tableRows).forEach(r => r.querySelector('td:first-child').classList.toggle('selected-cell-click')); } }); }); ``` #### CSS样式定义 ```css .selected-cell-hover { background-color: yellow; } .selected-cell-click { background-color: lightblue; } ``` 上述脚本实现了如下功能: - 鼠标经过任意一时,会短暂地改变该第一个单元格(`<td>`标签)的颜色; - 用户点击任何地方,则整个表内所有对应的首个单元格都会切换一种不同的选定状态表示形式; 这种设计不仅提供了良好的用户体验,还能够清晰地区分当前关注的重点区域[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值