【发布时间】:2020-03-25 20:44:54
【问题描述】:
当我将鼠标悬停在我创建的按钮上时,我正在尝试定义悬停功能。出于某种原因,if/else 条件似乎永远不会起作用。 如果特定条件在悬停时匹配,我正在尝试更改按钮的背景颜色,并在条件不匹配时更改为不同的颜色。该函数所做的只是完全跳过 IF 部分并执行 ELSE,而不管条件是否满足。 :
function clickHTML() {
$("#html").css("background-color", "#F5FEFE");
}
$(".button").hover(function() {
if ($(this).css("background-color") == "#F5FEFE") {
$(this).css("background-color", "#AFF7F7");
console.log('inside the if branch; color changed');
} else {
//alert($(this).css("background-color"));
$(this).css("background-color", "#E4E4E4");
}
}, function() {
$(this).css("background-color", "#EDEDED");
$("#html").css("background-color", "#F5FEFE");
});
h3,
html,
body {
font-family: Helvetica, sans-serif;
margin: 0px;
padding: 0px;
}
#header-bar {
width: 100%;
height: 50px;
background-color: #EDEDED;
}
h3 {
padding: 14px 400px 0px 5px;
float: left;
}
.button-group button {
width: 100px;
background-color: #EDEDED;
margin: 10px 0;
border: 1px solid black;
color: black;
padding: 5px;
display: inline-block;
text-align: center;
text-decoration: none;
font-size: 12px;
float: left;
border-radius: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js">
</script>
<body onload="clickHTML()">
<div id="header-bar">
<h3> CodePlayer </h3>
<div class="button-group">
<button id="html" class="button"> HTML </button>
<button id="CSS" class="button"> CSS </button>
<button id="js" class="button"> JavaScript </button>
<button id="output" class="button"> Output </button>
</div>
</div>
</body>
【问题讨论】:
-
这给了你什么(在点击处理程序中)?
console.log($(this).css("background-color"))(提示它不是"#F5FEFE") -
使用
is(".active")/.addClass("active")/ etc的类 -
@HereticMonkey 是的。谢谢。