简体   繁体   English

jQuery: If else on click for mobile menu

[英]jQuery: If else on click for mobile menu

Currently having a problem with my burger menu in WP.目前我在 WP 中的汉堡菜单有问题。 As of now, it's opening immediately when loading.截至目前,它在加载时立即打开。 It's supposed to open only when it's clicked.它应该仅在单击时打开。

HTML HTML

<div id="et-top-navigation" data-height="66" data-fixed-height="55" style="padding-left: 180px;">
     <nav id="top-menu-nav"></nav>
     <div id="et_mobile_nav_menu">
    <div class="mobile_nav closed">
         <span class="mobile_menu_bar mobile_menu_bar_toggle">::before</span>
         <ul id="mobile_menu" class="et_mobile_menu">*all li is here**</ul>
        </div>
     </div>
</div>

and my jQuery和我的 jQuery

jQuery("span.mobile_menu_bar.mobile_menu_bar_toggle").click(function(){
    var $this = jQuery(this);
    if($this.data('clicked')){
        jQuery("ul#mobile_menu").css({"display": "flex", "flex-direction": "column"});
        jQuery("ul#mobile_menu > li").css("order", "2");
        jQuery("ul#mobile_menu > .early-access-1").css("order", "1");
        jQuery("ul#mobile_menu > .early-access-2").css("order", "1");
    } else {
        jQuery("#mobile_menu").css("display", "none");
        jQuery("#mobile_menu").css("important");
    }

});

js js

//disable menu with js
//use only if you keep opening on your own. but it's probably something else that is conflicting
jQuery("#mobile_menu").css("display", "none");
jQuery("#mobile_menu").css("important");

//correct code
jQuery("span.mobile_menu_bar.mobile_menu_bar_toggle").click(function(){
    var $this = jQuery(this);
    console.log($this.data('clicked'));
    if( typeof $this.data('clicked') === 'undefined' ){
        $this.data('clicked', true);
    }else{
        $this.removeData('clicked');
    }

    if($this.data('clicked')){
        jQuery("ul#mobile_menu").css({"display": "flex", "flex-direction": "column"});
        jQuery("ul#mobile_menu > li").css("order", "2");
        jQuery("ul#mobile_menu > .early-access-1").css("order", "1");
        jQuery("ul#mobile_menu > .early-access-2").css("order", "1");
    } else {
        jQuery("#mobile_menu").css("display", "none");
        jQuery("#mobile_menu").css("important");
    }

});

css default css 默认

#mobile_menu{
    display: none;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM