jquery - 单击 am 项目后下拉菜单永久隐藏
问题描述
这是我的 HTML
<div class="navigation navbar">
<a href="https://freshfindsfarmersmarket.netlify.com/" class="example">Home</a>
<a href="#" class="example">About</a>
<a href="#form" class="example">Contact Us</a>
<a href="#" class="example">Sign In <i class="fas fa-sign-in-alt"></i></a>
</div>
这是 jQuery
const hamburger = document.querySelector(".hamburger");
const navLinks = document.querySelector(".navigation");
const links = document.querySelectorAll(".navigation a");
hamburger.addEventListener("click", () => {
navLinks.classList.toggle("open");
});
$(".example").on("click", function() {
$(".navbar").hide();
});
我的下拉菜单 工作正常,当它被点击时它会显示所有的链接,但是当你点击一个链接时,所有的菜单都会隐藏并且在它被点击时不会再次下拉。必须刷新页面才能再次工作。有人可以帮忙吗?
解决方案
单击菜单链接后菜单隐藏的原因是以下代码:
(".example").on("click", function() { // When a element with "example" class is clicked
$(".navbar").hide(); // Hide the menu
});
只需将其删除。
您还可以使用 jQuery 重写您的代码(更干净?):(在评论中更新了钙化。)
const $hamburger = $(".hamburger");
const $navLinks = $(".navigation");
const $links = $(".navigation a");
// Also could be $('.navigation, .navigation a').on(...)
$hamburger.add($links).on("click", () => {
$navLinks.toggleClass("open");
});
// Remove to prevent undesired functionality (menu disappearing)
/*
$(".example").on("click", function() {
$(".navbar").hide();
});
*/
推荐阅读
- r - 基于R中的列值聚合数据框
- php - 更改配置后 Laravel DB 连接不刷新
- firebase - Firebase CLI 命令不适用于 VS Code Git Bash 终端
- java - 大文本数据的非对称密码算法
- reactjs - 在 mapDispatchToProps 之后找不到函数
- javascript - 如何以编程方式检测离子应用程序中是否开启了飞行模式
- jquery - 回复:process.env.PORT || '3000' 带有红色下划线
- python - 关于在不同 Linux 发行版中使用 conda-pack 的问题
- javascript - Jquery Regex - 检查一个或多个逗号分隔值(12 个十六进制字符)
- javascript - 函数上下文绑定,因此我可以捕获远程抛出的异常