【发布时间】:2018-05-28 06:18:07
【问题描述】:
在我的 js 代码中:
$(document).ready(function () {
$(".row.rowstriped:even").css("background-color", "lightGray");
});
var oldBackColor;
function DoRowGold(el) {
var id = el.id;
sId = "#" + id;
oldBackColor = $(sId).css('background-color');
$(sId).css('background-color', '#FFD700');
}
function DoRowNormal(el) {
var id = el.id;
sId = "#" + id;
$(sId).css('background-color', oldBackColor);
}
在我的 HTML 中:
<div id="someid" class="row rowstriped" onmouseover="DoRowGold(this)" onmouseout="DoRowNormal(this)">
在我的 CSS 中,我定义了一个空的行条纹样式。通过这种方式,我确信 jquery 代码只影响具有这个附加类的行。
css:
.rowstriped{}
现在我希望在加载文档时,行变为交替颜色,但是当用户用鼠标在行上移动时,其背景颜色变为黄色。然后,当它用鼠标离开该行时,背景颜色应该与根据 jquery 函数完成的条带化返回的颜色相同。 我试图在更改之前存储 div 的旧颜色以便在 mouseout 事件中重置它,但没有成功。 我怎样才能做到这一点?
**编辑我忘记在我的代码示例中给她 id,但在我的真实代码中有一个 id(由 Razor 自动生成)
【问题讨论】:
-
我在你的 div 上没有看到任何 id,那么你希望
el.id怎么工作 -
为什么要用javascript来改变颜色,你可以简单的用户:hover
-
@Carsten 这是一个代码示例,html 是从 razor 视图中提取的,我不得不将 Id 放在适当的位置。
-
在我的代码中,条纹和颜色的变化都有效,只有背景不会恢复到旧颜色。
标签: javascript jquery html css