html - 创建单独的下拉菜单
问题描述
我创建了一个下拉菜单,要求您单击文本以在下方显示更多文本。代码是:
.dropbtn {
cursor: pointer;
font-weight: bold;
}
.dropdown03 {
position: relative;
display: inline-block;
text-align: left;
width: 100%;
}
.dropdown-content03 {
display: none;
position: relative;
width: 100%;
overflow: auto;
z-index: 1;
}
.show {display: block;}
<script>
/* When the user clicks on the button,
toggle between hiding and showing the dropdown content */
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content03");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
<div class="dropdown03">
<button onclick="myFunction()" class="dropbtn">Dropdown Button Text</button>
<div id="myDropdown" class="dropdown-content03">
Dropdown Button Text
</div>
</div>
这段代码在我的网站上运行得很好,当你点击“下拉按钮文本”然后点击它下面的“下拉按钮文本”时。这是我的麻烦;当我使用相同的代码添加另一个下拉列表时,网站上的第一个下拉列表将显示,但按钮上方的下拉列表不显示。换句话说,当我添加多个下拉列表时,所有新下拉列表都不起作用,它们最终只会显示第一个下拉列表内容。(希望这是有道理的)
单击时,我怎样才能拥有多个将加载自己的内容的下拉列表?我必须为每个标签创建一个全新的标签吗?
解决方案
更改id和类的名称会有所帮助。尝试这样做。还可以通过单击检查按钮检查控制台。从检查选项卡中查看您的 HTML。确保控制台中没有错误。
确保在重新加载浏览器时,按 Ctrl+F5 进行硬刷新。
推荐阅读
- c++ - fstream 无法读取页面映射?
- c++ - 反转哈希(发现冲突)
- python - 让 Enter 键的行为类似于 QTableWidget 中的 Tab
- angular - Angular 动画在 Firefox 中不起作用
- asp.net - 弹性 beantalk Web API 找不到文件
- java - STB loads image, but shows black texture
- tableau-api - Tableau:将单行变成多行
- python - excel删除现有条形图的数据框
- python - ImportError:没有安装了 2 个 Python 版本的名为“flask_sqlalchemy”的模块
- excel - 将 Access 查询导出到受密码保护的 Excel 工作簿