wordpress - 如何让 WordPress 中的 Divi 主题下拉菜单保持打开状态,直到我点击?
问题描述
我有一个使用 Divi 主题的 WordPress 网站。我在导航栏中有一个下拉菜单,我想保持打开状态,直到我用鼠标单击某处。我的麻烦是,我不理解下拉菜单的 CSS。我不知道使用哪个 CSS 类以编程方式打开/关闭下拉菜单。
下拉菜单是页面右上角的石灰绿色,标签为“Våra erbjudanden”,请参见屏幕截图:
简而言之,哪些 Divi 类用于切换下拉菜单?你会怎么做呢?
谢谢!
解决方案
要使悬停后下拉菜单保持打开状态,您可以使用以下代码:
jQuery(document).ready(function() {
spriderMain.run();
});
var spriderMain = {
run() {
document.addEventListener('click', this.onAnyClick, true);
this.fixDropdown();
},
fixDropdown() {
var dropdown = document.querySelectorAll("nav > ul > li")[1];
dropdown.addEventListener("mouseover", this.onDropdownMouseOver);
},
onAnyClick() {
setTimeout(function() {
var dropdown = document.querySelectorAll("nav > ul > li > ul")[0];
dropdown.style.visibility = "hidden";
dropdown.style.opacity = "0";
var dropdownBox = document.querySelectorAll("nav > ul > li")[1];
dropdownBox.style.pointerEvents = "auto";
dropdown.style.pointerEvents = "auto";
}, 100);
},
onDropdownMouseOver() {
var dropdown = document.querySelectorAll("nav > ul > li > ul")[0];
dropdown.style.visibility = "visible";
dropdown.style.opacity = "1";
}
};
但是,一个问题可能会导致下拉菜单在悬停时重新打开,尽管它已经打开了。这个问题在这里讨论: 当已经在 WordPress Divi 主题站点中打开时,如何防止下拉菜单再次动画/重新打开?
推荐阅读
- typescript - 我们可以在 vscode 扩展中使用 addEventListener 吗?
- php - 将我的谷歌云应用程序迁移到生产环境时遇到问题
- node.js - Ubuntu AWS ec2 NodeJS 端口已在使用中
- java - 在 Java 中使用 Kotlin 值类
- flutter - Flutter Amplify S3 设置错误,amplifyconfiguration.json
- ruby-on-rails - Rails 6.1 创建记录只会导致 UPDATE 事务
- dialogflow-es - 在对话流代理对话期间忽略 Google 智能家居意图?
- oracle - PowerBI 是否有能力读取包含每日统计信息的表格,然后将这些结果存储在应用内表格中
- javascript - 来自 onChange 提交的 React event.preventDefault() 不会阻止刷新
- javascript - 为什么我的 React 组件中的变量没有按预期增加?