下拉菜單是用CSS和HTML/JS設計的,使用從JS添加的名爲「is-open」的類。一旦出現在指定的HTML div內,它將激活CSS顯示子菜單。如何刪除切換課程時點擊外部菜單
但是,有一個小問題,點擊下拉菜單不會消失,除非點擊相同的菜單項。 (當點擊菜單內容div之外時,該類將不會取消切換)
作爲基本功能,只要用戶不僅在菜單上點擊,而且在頁面上的任何位置點擊該菜單,該菜單也必須消失。
我現在的javascript如下:
$(document).ready(function() {
$(".has-submenu").click(function(e) {
e.stopPropagation();
if($(this).hasClass("is-open")) {
$(this).removeClass("is-open");
} else {
$(".has-submenu").removeClass("is-open");
$(this).addClass("is-open");
}
});
});
下面是代碼的codepen例如:https://codepen.io/anon/pen/EwMjrz
[Hier只是一個很好的例子](https://codepen.io/Ferhad/pen/OxZWNm) –
@FerhadOthman你的解決方案不起作用。它允許第一個菜單項(在這種情況下,「文章」)在div外單擊時摺疊,但是任何後續菜單項都不受影響。請參閱https://codepen.io/hioioasd90/pen/qPwBEW – 109881
第13行'var element = document.querySelector(「。has-submenu.is-open」);'選擇器必須是類is-open –