【发布时间】:2020-03-13 00:20:45
【问题描述】:
我有一个带有备用行背景颜色的 HTML 表格。
<table class="tb_record">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr class="odd">
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr class="even">
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr class="odd">
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
</table>
此表的 CSS 及其备用行背景颜色为:
.tb_record {
width:50%;
border-collapse:collapse;
text-align:center;
}
.tb_record th, .tb_record td {
padding:15px;
border:1px solid #dddddd;
}
.tb_record tr.odd {
background-color:#FAFBFB;
}
.tb_record tr.even {
background-color:#FFFFFF;
}
要更改表格行背景颜色,我使用的是 jQuery animate() 方法。
$(document).ready(function(){
$(document).on("mouseenter", ".tb_record tr", function(){
$(this).stop(true, true).animate({"background-color": "#F5F5F5"}, "fast")
});
$(document).on("mouseleave", ".tb_record tr", function(){
$(this).stop(true, true).animate({"background-color": "#FFFFFF"}, "fast")
});
});
但是这个 jQuery 代码正在制造一个烦人的问题。当鼠标移出表格行时,它将每行的背景颜色更改为白色。鼠标离开行时如何保留表格行的原始背景颜色?
我知道借助 CSS 可以轻松实现上述目标,但我想使用 animate()。
【问题讨论】:
标签: jquery