多层菜单链接不起作用

时间:2015-09-19 15:34:02

标签: javascript jquery html css twitter-bootstrap

我正在尝试开发一个新项目的菜单系统,我们正在开始使用菜单遇到一些问题,以节省我们购买模板的时间,可以在这里找到

http://envato.stammtec.de/themeforest/melon/

菜单即时使用位于左侧的4级菜单

问题,当在文件夹的底部让我说孩子我可以点击链接并被定向到预定的页面然而当我点击上面的链接它只启动下拉菜单过程我需要能够做对于每个文件夹都可以说我需要能够在单击超链接的情况下导航到页面,或者如果单击箭头则展开菜单

这是可以实现的吗?

我已经在代码中查找了几个小时,因此无法找到任何内容因此指向模板的链接我希望有人可以告诉我在哪里寻找或有什么机会

这是我正在寻找的以下代码,希望实现

<ul class="sub-menu">
<li class="open-default">
    <a href="http://someinternallin.com">ROOT FOLDER</a>// WHEN CLICKED THIS EXPANDS MENU - I WISH FOR THIS TO OPEN LINK AND EXPAND MENU
    <ul class="sub-menu">
        <li class="open-default">
            <a href="http://someinternallin.com">SECOND FOLDER</a>// WHEN CLICKED THIS EXPANDS MENU - I WISH FOR THIS TO OPEN LINK AND EXPAND MENU
            <ul class="sub-menu">
                <li><a href="http://someinternallin.com">THIRD FOLDER</a></li>// WHEN CLICKED THIS OPENS LINK
            </ul>
        </li>
    </ul>
</li>

我感谢任何花时间帮助我完全陷入困境的人,并且我真的没有很多javascript知识,这就是我认为问题所在的地方

经过更多的故障排除后,问题出现在下面的脚本中,如何在单击箭头时进行设置,菜单下拉,但在点击a href时打开页面

var handleSidebarMenu = function() {
    var arrow_class_open   = 'icon-angle-down',
        arrow_class_closed = 'icon-angle-left';

    $('li:has(ul)', '#sidebar-content ul').each(function() {
        if ($(this).hasClass('current') || $(this).hasClass('open-default')) {
            $('>a', this).append("<i class='arrow " + arrow_class_open + "'></i>");
        } else {
            $('>a', this).append("<i class='arrow " + arrow_class_closed + "'></i>");
        }
    });

    if ($('#sidebar').hasClass('sidebar-fixed')) {
        $('#sidebar-content').append('<div class="fill-nav-space"></div>');
    }

    $('#sidebar-content ul > li > a').on('click', function (e) {

        if ($(this).next().hasClass('sub-menu') == false) {
            return;
        }

        // Toggle on small devices instead of accordion
        if ($(window).width() > 767) {
            var parent = $(this).parent().parent();

            parent.children('li.open').children('a').children('i.arrow').removeClass(arrow_class_open).addClass(arrow_class_closed);
            parent.children('li.open').children('.sub-menu').slideUp(200);
            parent.children('li.open-default').children('.sub-menu').slideUp(200);
            parent.children('li.open').removeClass('open').removeClass('open-default');
        }

        var sub = $(this).next();
        if (sub.is(":visible")) {
            $('i.arrow', $(this)).removeClass(arrow_class_open).addClass(arrow_class_closed);
            $(this).parent().removeClass('open');
            sub.slideUp(200, function() {
                $(this).parent().removeClass('open-fixed').removeClass('open-default');
                calculateHeight();
            });
        } else {
            $('i.arrow', $(this)).removeClass(arrow_class_closed).addClass(arrow_class_open);
            $(this).parent().addClass('open');
            sub.slideDown(200, function() {
                calculateHeight();
            });
        }

        e.preventDefault();
    });

    var _handleResizeable = function() {
        $('#divider.resizeable').mousedown(function(e){
            e.preventDefault();

            var divider_width = $('#divider').width();
            $(document).mousemove(function(e){
                var sidebar_width = e.pageX+divider_width;
                if (sidebar_width <= 300 && sidebar_width >= (divider_width * 2 - 3)) {
                    if (sidebar_width >= 240 && sidebar_width <= 260) {
                        $('#sidebar').css("width", 250);
                        $('#sidebar-content').css("width", 250);
                        $('#content').css("margin-left", 250);
                        $('#divider').css("margin-left", 250);
                    } else {
                        $('#sidebar').css("width",sidebar_width);
                        $('#sidebar-content').css("width", sidebar_width);
                        $('#content').css("margin-left",sidebar_width);
                        $('#divider').css("margin-left",sidebar_width);
                    }

                }

            })
        });
        $(document).mouseup(function(e){
            $(document).unbind('mousemove');
        });
    }

    _handleResizeable();
}

0 个答案:

没有答案