【发布时间】:2018-07-01 15:56:29
【问题描述】:
我正在使用 Genesis 框架开发我自己的子主题。使用我的主题,当您单击顶级菜单项时,子菜单会在菜单下水平打开。现在,要关闭它,您需要单击相同的菜单选项。如果您在第一个子菜单仍处于打开状态时单击另一个菜单项,则新的子菜单会出现在其上方,从而创建一个子菜单层。
我在这里查看了多个线程,并尝试按照其他人的建议使用e.stopPropagation();。我确定我用错了,因为它不起作用。
下面是我正在使用的代码:
jQuery(document).ready(function(){
jQuery(".nav-header-left .menu-item, .nav-header-right .menu-item").removeClass("menu-open");
jQuery(".nav-header-left .menu-item-has-children, .nav-header-right .menu-item-has-children")
.click( function( e ){
jQuery(this).find( 'ul.sub-menu:first' ).slideToggle( function() {
jQuery(this).parent().toggleClass("menu-open");
});
if ( e.target !== this ) {
return;
}
});
});
这是一个显示菜单功能的小提琴:https://jsfiddle.net/mve1mrcp/15/(已经更新了几次,让它看起来更好一点)
欢迎提出任何建议!
【问题讨论】:
-
如果您可以在 jsFiddle 中复制您的菜单或其中的一部分,或者为工作示例提供 html/css/js,这将帮助我们为您的问题找到合适的答案。
-
@AhmedMusallam 这是菜单的一部分:jsfiddle.net/mve1mrcp
标签: javascript jquery wordpress menu genesis