首页 > 解决方案 > 无法关闭移动设备上的下拉菜单

问题描述

我希望在您单击下拉菜单中的项目时关闭菜单。此时,菜单仅在您单击菜单按钮时关闭。

链接到网站 >>> http://www.glassmania.pl/PROA5/index.html

$(document).ready(function() {

    $.fn.menumaker = function(options) {

    var cssmenu = $(this), settings = $.extend({
        title: "Menu",
        format: "dropdown",
        sticky: false
      }, options);

      return this.each(function() {

        cssmenu.prepend('<div id="menu-button"><span></span><span></span><span></span>' + settings.title + '</div>');
        $(this).find("#menu-button").on('click', function(){
          $(this).toggleClass('menu-opened');
          var mainmenu = $(this).next('ul');
          if (mainmenu.hasClass('open')) { 
            mainmenu.slideUp().removeClass('open');
          }
          else {
            mainmenu.slideDown().addClass('open');
            if (settings.format === "dropdown") {
              mainmenu.find('ul').slideDown();
            }
          }
        });

        cssmenu.find('li ul').parent().addClass('has-sub');

        multiTg = function() {
          cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>');
          cssmenu.find('.submenu-button').on('click', function() {
            $(this).toggleClass('submenu-opened');
            if ($(this).siblings('ul').hasClass('open')) {
              $(this).siblings('ul').removeClass('open').slideUp();
            }
            else {
              $(this).siblings('ul').addClass('open').slideDown();
            }
          });
        };

        if (settings.format === 'multitoggle') multiTg();
        else cssmenu.addClass('dropdown');


      });
    };

    $(".navy").menumaker({
        title: "Navigation",
        format: "multitoggle"
    });


        $('#menu-button').click(function(){
        $(this).toggleClass('open');
    });     


});

标签: jquerycssnav

解决方案


没有工作示例很难提供帮助,但我会尽力提供帮助。

我认为这是你需要的:

$('.page-scroll').click(function(){
    $(this).parents('ul').removeClass('open');
});

page-scroll 类是您的菜单项,当用户单击它时,我们会从父 ul 元素中删除 open 类。


推荐阅读