使用此脚本根据目标ID打开多个菜单中的一个。该课程是.dropdownDiv。该脚本首先删除" show"来自任何.dropdownDiv的类,然后允许用户切换目标.dropdownDiv。
问题是,.remove和.toggle似乎不能一起工作。他们单独工作就好了。我可以整天切换一个div show - unshow,但点击其他按钮将无法控制它。我可以反过来并有一个按钮从另一个删除div,但然后目标按钮不会删除它自己的div。
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function(event) {
var divs = document.querySelectorAll('.navButton');
for (var i = 0; i < divs.length; i++) {
divs[i].addEventListener('click', showDropDown);
}
});
function showDropDown() {
//un-show all dropdowns
var containers = document.querySelectorAll('.dropdownDiv');
for (var i = 0; i < containers.length; i++) {
containers[i].classList.remove('show');
}
// show targeted dropdown only
var d = document.getElementById(event.target.dataset.target);
d.classList.toggle("show");
console.log(d);
}
</script>
答案 0 :(得分:0)
一种简单的方法来切换某些内容,即每次点击某个动作时都使用一个标记并将其翻转,这样你就可以这样做:
if(a)
{//something to do}
else
{// another action to do}
a = ! a;
因此,您可以删除点击的下拉菜单,而不是删除所有下拉类。