【发布时间】:2019-06-14 01:39:22
【问题描述】:
致力于将 html 网站转换为自定义 wordpress 主题。这段代码是由其他人编写的,由于我是 JavaScript 新手,所以我无法弄清楚为什么下拉菜单 (.sub-menu) 无法打开。
menu-item-has-children 类是指主菜单项。所以它就像这个 menu-item-has-children -> sub-menu -> links。
我猜所有元素之间的关系都搞砸了?有人可以解决这个问题并提供帮助吗?
我尝试过切换 document.querySelector 抓取的元素
// Menu dropdown script
let body = document.querySelector("body");
mainMenu = document.querySelector(".header__menu").querySelector(".header__menu-wrapper"),
mainMenuItems = mainMenu.querySelectorAll("a.menu-item"),
mainMenuServicesDropdown = document.querySelector(".sub-menu");
subMenuBtn = document.querySelector('.menu-item-has-children');
// Click listener
mainMenu.addEventListener("click", function() {
if (event.target === subMenuBtn) {
event.preventDefault();
if (window.getComputedStyle(mainMenuServicesDropdown).opacity === "0") {
mainMenuServicesDropdown.classList.add("header__dropdown--show");
return;
}
mainMenuServicesDropdown.classList.remove("header__dropdown--show");
}
});
我希望下拉菜单可以打开和关闭,并且下拉菜单中的链接可以正常工作
【问题讨论】:
-
能否请您展示html结构或创建一个小提琴以更好地理解?
-
更新了我的回答中的小提琴