【发布时间】:2018-04-30 19:43:00
【问题描述】:
我刚刚开始学习 JavaScript。
我写了一个简单的下拉菜单,但是当您最初加载页面时,需要两次单击“下拉”按钮(带有 onclick 属性)要显示的链接列表。
之后,它按预期工作 - 您只需单击一次按钮即可显示/隐藏列表。
但是为什么我在初始加载网站后必须点击两次按钮?
这是我的 HTML/CSS:
#dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
#dropdown {
position: relative ;
display: inline-block;
}
#dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
#dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
#dropdown-content a:hover {background-color: #f1f1f1}
/*#dropdown:hover #dropdown-content {
display: block;
}*/
#dropdown:hover #dropbtn {
background-color: #3e8e41;
}
<h2>Dropdown Menu</h2>
<p>Just a simple menu with link list</p>
<div id="dropdown">
<button id="dropbtn" onclick="myFunction()">Dropdown</button>
<div id="dropdown-content">
<a href="#">Link 1</a>
<a href="#">Link 2</a>
<a href="#">Link 3</a>
</div>
</div>
<script>
function myFunction() {
if (document.getElementById('dropdown-content').style.display == "none")
{document.getElementById('dropdown-content').style.display = "block";}
else {document.getElementById('dropdown-content').style.display = "none";}
}
</script>
【问题讨论】:
-
山田的回答是正确的!您必须在样式表和标签内有声明 (display: none;)。
标签: javascript html css