移动导航问题

问题描述

我正在使用“移动导航菜单”运行页面。 移动功能有时会完全起作用。有时不会生成.sub_nav,并且菜单不会再次关闭而是保持打开状态,但是只有第一级可见,并且没有“ icon-angle-down”和“ icon-angle-up”。

没有图标(汉堡菜单,...):

without icons (hamburger menu,…)

(function ($) {
$.fn.responsinav = function (o) {
    var o = jQuery.extend({breakpoint: 480},o);

    // 0 = Full,1 = Mobile
    rn_mode = undefined;
    sub_nav_bind = false
    $(window).bind('load resize',function () {
        // Run mode by width
        if($(window).width()<=o.breakpoint){
            if(rn_mode==0 || rn_mode==undefined){ nav.reset(); nav.mobile(); }
        }else{
            if(rn_mode==1 || rn_mode==undefined){ nav.reset(); nav.full(); }
        }
    });
    nav = {
        reset: function () {
            $('.mainmenu>ul li').unbind('mouseenter mouseleave click');
            $('.mainmenu .sub_nav').unbind('click').remove();
        },full: function () {
            // Set mode
            rn_mode = 0;
            $('.mainmenu>ul').show();
            $('.mainmenu ul ul').hide();
            $(".mainmenu>ul li").hover(function () {
                var timeout = $(this).data("timeout");
                if (timeout) clearTimeout(timeout);
                $(this).children("ul").slideDown(300).css({'z-index': 199});
            },function () {
                $(this).data("timeout",setTimeout($.proxy(function () {
                    $(this).find("ul").slideUp(300);
                },this),300));
            });
        },mobile: function () {
            // Set mode
            rn_mode = 1;
            $('.mainmenu>ul').hide();
            // Create mobile handle
            if ($('.mainmenu>a.mobile_handle').length == 0) {
                $('<a class="mobile_handle"><i class="icon-reorder"></i></a>').insertBefore('.mainmenu ul.level_1');
            }
            $('.mainmenu>a.mobile_handle').unbind('click');
            $('.mainmenu>a.mobile_handle').click(function () {
                $('.mainmenu>ul').slideToggle(300);
            });
            if ($('.sub_nav').length == 0) {
                $('.mainmenu ul li').each(function () {
                    if ($(this).children('ul').length > 0) {
                        $('<a class="sub_nav"><i class="icon-angle-down"></i></a>').appendTo(this);
                    }
                });
            }

            // Sub-Nav
            if (sub_nav_bind == false) {
                $('.mainmenu>ul').delegate('.sub_nav','click',function (e) {
                    $(this).siblings('ul').slideToggle(300);
                    if ($(this).children('i').hasClass('icon-angle-down')) {
                        $(this).children('i').attr('class','icon-angle-up');
                    } else {
                        $(this).children('i').attr('class','icon-angle-down');
                    }
                });
                sub_nav_bind = true;
            }
        }
    };
};})(jQuery);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)