我正在尝试在 CSS 中使用悬停命令,当悬停在我的属性按钮上时它可以工作,但我希望它在 JavaScript 中的 click
事件之后隐藏。
下面是我的代码示例,其中包含一个“属性”按钮,然后当您将鼠标悬停在该按钮上时会出现一个下拉菜单。如果我将 $(".dropdown-content").css("display","none");
添加到按钮单击事件,则悬停命令将停止工作。
我不明白为什么会这样,因为我会隐藏一个嵌套的 div .dropdown-content
所以悬停命令应该仍然适用于外部 div `.dropdown 但它不起作用't。任何帮助将不胜感激!
$("#001").on('click', function() {
window.whichtab = 1;
});
$("#002").on('click', function() {
window.whichtab = 2;
});
$("#001,#002").on('click', function() {
$("#title1,#title2").hide()
if (window.whichtab == 1) { //home
$("#title1").show();
$("#title1").css("display", "inline");
//$(".dropdown-content").css("display","none");
}
if (window.whichtab == 2) {
$("#title2").show();
$("#title2").css("display", "inline");
//$(".dropdown-content").css("display","none");
}
});
.dropbtn {
background-color: #3d70b2;
color: white;
padding: 13px;
font-size: 16px;
border: none;
}
.dropdown-content button {
color: black;
border: none;
width: 250px;
height: auto;
padding: 13px 16px;
text-align: left;
text-decoration: none;
display: inline-block;
cursor: pointer;
}
.dropdown-content {
display: none;
border: solid;
border-radius: 0px;
border-color: #3d70b2;
position: absolute;
background-color: 17, 83, 238;
min-width: 250px;
box-shadow: 0px 12px 16px 0px rgba(0, 0, 0, 0);
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3d70b2;
}
#title1 {
display: inline;
}
#title2 {
/*defult title is hidden for 2*/
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dropdown">
<!--title of each tab-->
<button class="dropbtn">Property</button>
<h4 id="title1">   Home page</h4>
<h4 id="title2">   Content Page</h4>
<div class="dropdown-content">
<!--each button going to each tab-->
<button id="001" ,class='noHover'>Home Page</button><br>
<button id="002">Content Page</button><br>
</div>
</div>
最佳答案
display: none
不保留空间,您不能将鼠标悬停在上面。您可以像下面这样使用 opacity
属性:
$(".dropdown-content").css("opacity", 0); // hide
$(".dropdown-content").css("opacity", 1); // show
关于javascript - 隐藏嵌套的 div 时悬停命令停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56223255/