Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可折叠菜单javascript问题_Javascript_Menu_Folding - Fatal编程技术网

可折叠菜单javascript问题

可折叠菜单javascript问题,javascript,menu,folding,Javascript,Menu,Folding,我正在努力使用可折叠的垂直菜单。下面脚本的第一部分工作正常,因此上层UL显示其兄弟LIs,而其他UL隐藏其兄弟LIs。 我的困难任务(至少对我来说)是使活动链接的父UL保持其兄弟LIs可见。这是我在脚本的下半部分尝试的。 我的a-links有时会得到一个尾随散列(#),我想删除它以便将I与活动URL进行比较。这是通过trimHash(string)-函数完成的,该函数在对简单字符串进行测试时有效,但在本脚本中不起作用。 有什么好的建议吗 $(document).ready(function()

我正在努力使用可折叠的垂直菜单。下面脚本的第一部分工作正常,因此上层UL显示其兄弟LIs,而其他UL隐藏其兄弟LIs。 我的困难任务(至少对我来说)是使活动链接的父UL保持其兄弟LIs可见。这是我在脚本的下半部分尝试的。 我的a-links有时会得到一个尾随散列(#),我想删除它以便将I与活动URL进行比较。这是通过trimHash(string)-函数完成的,该函数在对简单字符串进行测试时有效,但在本脚本中不起作用。 有什么好的建议吗

$(document).ready(function() {
        // Collapse everything but the first menu:
        $(".mainmenu > li > a").not(":first").find("+ ul").slideUp(1);
        // Expand or collapse:
        $(".mainmenu > li > a").click(function() {
            $(this).find("+ ul").slideToggle("fast");
        });

     $(".mainmenu li").each(function () {
        var li = $(this);
        var a = rtrimHash(li[0].firstChild);

        if (a.href == location.href) {
          $(this).find("+ ul").slideDown(1);
        }
    });

我最终得到了这个解决方案。由于它是一个Wordpress站点,在单步浏览菜单项时,我可以通过将链接与活动帖子进行比较来检查每个链接是否处于活动状态,并将类“current”插入这些菜单项:

echo '<li class="child';
if ( $menuPost->ID == $post->ID ) { echo ' current'; }
很抱歉,我没有按照预期通过javascript解决这个问题,但我实现了我想要的

$(document).ready(function() {
    // Collapse everything:
    $("li.cat").find("+ ul").slideUp(1);

    // Collapse everything but the first menu:
    //$("li.cat").not(":first").find("+ ul").slideUp(1);

    // Expand or collapse:
    $("li.cat").click(function() {
        $(this).find("+ ul").slideToggle("fast");
    });
    $("li.current").parent().slideDown(1);  
});