Slicknav自动关闭多级菜单

时间:2015-07-02 05:24:26

标签: javascript html html5 navigationbar slicknav

我正在使用slicknav获取我的移动菜单。如果你点击另一个父菜单我会让父菜单完全正常工作,如果我在下面使用它(请注意,我不知道javascript。你看到了什么),我遇到了一个很酷的小方法让父菜单自动关闭是我在网上找到的其他代码一起黑客攻击了一下:

<ul id="menu">
    <li class="first"><a href="#">Parent1</a>
        <ul>
            <li><a href="#" title="">Child1</a></li>
            <li><a href="#" title="">Child2</a></li>
        </ul>
    </li>
    <li><a href="#" title="">Parent2</a>
        <ul>
            <li><a href="#" title="">Child3</a></li>
            <li><a href="#" title="">Child4</a></li>
        </ul>
    </li>
    <li><a href="#" title="">Parent3</a>
        <ul>
            <li><a href="#" title="">Child5</a></li>
            <li><a href="#" title="">Child6</a></li>
        </ul>
    </li>
</ul>

的javascript:

<script>
    $(function(){
        $('#menu').slicknav({
            label: 'MENU',
            duration: 150,
            allowParentLinks: true,
            'open': function(trigger){
            var that = trigger.parent().children('ul');
            $('.slicknav_menu ul li.slicknav_open ul').each(function(){
                if($(this).get( 0 ) != that.get( 0 )){
                    $(this).slideUp().addClass('slicknav_hidden');
                    $(this).parent().removeClass('slicknav_open').addClass('slicknav_collapsed');
                 }
             })
        },
        closeOnClick:true
        });
    });

    $("#content").click(function(){
        $('#menu').slicknav('close');
    });
</script>

我需要让一些孩子的物品有自己的下拉菜单。有没有办法让javascript函数具有相同的想法?如果它没有改变,当你点击/点击任何带有自己的ul项目的子项目时,它会打开,然后立即关闭。

如果我删除它:

var that = trigger.parent().children('ul');
            $('.slicknav_menu ul li.slicknav_open ul').each(function(){
                if($(this).get( 0 ) != that.get( 0 )){
                    $(this).slideUp().addClass('slicknav_hidden');
                    $(this).parent().removeClass('slicknav_open').addClass('slicknav_collapsed');
                 }
             })

然后自动停止。父母和子女/父母仍然保持开放。

我希望能够点击孩子/父母并让它保持打开状态,除非您点击其他孩子/父项目。对不起,如果我没有意义的话。累了,这是我能做的最好的事情......

正如本文开头所述,javascript不是我的语言......任何想法或指示都将不胜感激。

0 个答案:

没有答案