javascript - 如何在其他子菜单关闭时一次打开 1 个子菜单
问题描述
我一直试图一次打开一个子菜单,但我似乎找不到我的问题!环顾四周,但没有找到任何可以帮助我的东西,而且它还必须在页面加载时保持关闭 ----HTML ---
window.addEventListener('load', function(){
var acc = document.getElementsByClassName("niveau1");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
hideAll();
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
function hideAll() {
for (i = 0; i < acc.length; i++) {
acc[i].classList.toggle("active", false);
acc[i].nextElementSibling.classList.toggle("show", false);
}
}
});
解决方案
如果可以使用JQuery,就可以使用JQuery 的.accordain
功能。在这里找到。
例如:
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="accordion">
<h3>Section 1</h3>
<div>
<p>
Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque.
</p>
</div>
<h3>Section 2</h3>
<div>
<p>
Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus.
</p>
</div>
</div>
<script>
$(function() {
$("#accordion").accordion({
active: false,
collapsible: true
});
});
</script>
请注意,这要求您拥有<div>
而不是<li>
.
推荐阅读
- angular8 - 如何在primeng下拉列表中更改自定义错误消息
- oracle - 如何在 oracle 中使用 REGEXP 提取列的特定部分?
- html - 如何调整组的大小如果它们超过 2,出现在同一行?
- java - 访问在一个类中填充的 ArrayList,在另一个类中
- python - Python:argparse 帮助文本的分页?
- json - VBA/JSON 从数组中解析 Json 数据
- apache-kafka - 如何选择主题中json的子值作为ksql流
- excel - VBA 运行时错误:将 PowerPoint 演示文稿另存为 PDF
- reactjs - React - 循环渲染
- excel - Excel 要求我更新新文件的链接