[英]how to close the menu when clicking on a link?
I have a code, but I need help please, how can I close the menu when clicking on a link item.我有一个代码,但我需要帮助,如何在单击链接项时关闭菜单。 that's what I'm stuck on
这就是我坚持的
$('.burger').on('click', function() {
$(this).toggleClass('active');
$('.menu__list').slideToggle();
});
let ul = document.querySelector('.menu__list');
let li = document.querySelectorAll('.menu__link');
li.forEach(el => {
el.addEventListener('click', function() {
ul.querySelector('.menu__link--active').classList.
remove('menu__link--active');
el.classList.add('menu__link--active');
});
});
我可以想到2个解决方案,首先,制作一个具有屏幕高度和宽度的透明div,并在其上制作一个单击事件侦听器以关闭菜单,另一种选择是使用焦点和模糊事件侦听器
Just add .slideToggle() to the click listener:只需将 .slideToggle() 添加到点击监听器:
$('.burger').on('click', function() {
$(this).toggleClass('active');
$('.menu__list').slideToggle();
});
let ul = document.querySelector('.menu__list');
let li = document.querySelectorAll('.menu__link');
li.forEach(el => {
el.addEventListener('click', function() {
ul.querySelector('.menu__link--active').classList.
remove('menu__link--active');
el.classList.add('menu__link--active');
$('.menu__list').slideToggle();
});
});
Believing that you are having a list of items in your example I am providing the below solution.相信您的示例中有一个项目列表,我提供了以下解决方案。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#flip").click(function(){ $("#panel").slideToggle("slow"); }); $(".closemenu").click(function(){ $("#panel").slideToggle("slow"); }); }); </script> <style> #panel, #flip { padding: 5px; text-align: center; background-color: #e5eecc; border: solid 1px #c3c3c3; } #panel { padding: 50px; display: none; } .closemenu{ font-weight:bold; list-style:none; } </style> </head> <body> <div id="flip">Click to slide the panel down or up</div> <div id="panel"> <ul> <li class="closemenu">item1</li> <li class="closemenu">item2</li> <li class="closemenu">item3</li> </ul> </div> </body> </html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.