1.点击全选复选框时,全选下面四个复选框,再点全选复选框时取消全选; 2.当鼠标进入表格和离开表格时,改变表格背景色,颜色自定义; 3.点击删除按钮时,判断是否有复选框被选中,如果没有复选框被选中则提示用户进行选择,否则确认删除,并从表格中删除相应行。
时间: 2024-03-17 08:43:36 浏览: 74
好的,下面是一个简单的HTML、CSS和JavaScript代码示例,实现了你提出的三个需求。
HTML代码:
```html
<table id="myTable">
<thead>
<tr>
<th><input type="checkbox" id="selectAll"></th>
<th>Name</th>
<th>Age</th>
<th>City</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>John</td>
<td>25</td>
<td>New York</td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>Jane</td>
<td>30</td>
<td>Los Angeles</td>
</tr>
<tr>
<td><input type="checkbox" class="checkbox"></td>
<td>Bob</td>
<td>40</td>
<td>Chicago</td>
</tr>
</tbody>
</table>
<button id="deleteBtn">Delete</button>
```
CSS代码:
```css
table {
border-collapse: collapse;
}
th, td {
padding: 10px;
border: 1px solid black;
}
#myTable tbody tr:hover {
background-color: lightblue;
}
```
JavaScript代码:
```javascript
var selectAll = document.getElementById("selectAll");
var checkboxes = document.getElementsByClassName("checkbox");
var deleteBtn = document.getElementById("deleteBtn");
var table = document.getElementById("myTable");
// 全选/取消全选
selectAll.onclick = function() {
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = selectAll.checked;
}
};
// 鼠标进入表格改变背景颜色
table.onmouseover = function() {
table.style.backgroundColor = "lightgray";
};
// 鼠标离开表格恢复背景颜色
table.onmouseout = function() {
table.style.backgroundColor = "white";
};
// 删除按钮点击事件
deleteBtn.onclick = function() {
var checkedCount = 0;
for (var i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkedCount++;
}
}
if (checkedCount === 0) {
alert("Please select at least one row.");
} else {
var confirmMsg = "Are you sure you want to delete the selected row(s)?";
if (confirm(confirmMsg)) {
for (var i = checkboxes.length - 1; i >= 0; i--) {
if (checkboxes[i].checked) {
checkboxes[i].parentNode.parentNode.remove();
}
}
}
}
};
```
这个示例中,我们使用了原生JavaScript来实现上述三个需求。当全选复选框被选中时,我们使用for循环遍历所有子复选框,并将它们的checked属性设置为全选复选框的checked属性。当全选复选框再次被点击时,我们将所有子复选框的checked属性设置为false。当鼠标进入表格时,我们使用CSS将表格的背景色更改为灰色。当鼠标离开表格时,我们将背景色恢复为白色。当删除按钮被点击时,我们先遍历所有子复选框,判断有多少个被选中。如果没有被选中的行,我们使用alert()函数提示用户进行选择。否则,使用confirm()函数确认是否删除。如果用户确认删除,我们再次遍历所有子复选框,将被选中的行从表格中删除。
希望这个示例可以帮助你完成这三个需求。
阅读全文