【问题标题】:Keeping the accordion menu open to show selected menu item保持手风琴菜单打开以显示选定的菜单项
【发布时间】:2013-06-17 14:48:57
【问题描述】:

我有以下手风琴菜单代码(见下文)。

当我移动到页面时,我如何保持当前页面菜单项显示为当前菜单项仅关闭到顶层?

我还想知道是否可以在点击时打开手风琴菜单并同时打开一个页面??)

感谢任何人提供的任何帮助!

function initMenu() {
$(".sub-menu").hide();
$(".current_page_item .sub-menu").show();
$('#menu li a').click(

function() {
    var checkElement = $(this).next();
    if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
        checkElement.slideUp('normal');
        return false;
    }
    if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('#menu ul:visible').not(checkElement.parentsUntil('#menu')).slideUp('normal');
        checkElement.slideDown('normal');
        return false;
    }
});

$('.current-menu-item').parentsUntil('#menu').slideDown('normal');

}
$(function() {
initMenu();
});

【问题讨论】:

    标签: accordion


    【解决方案1】:

    initMenu() 函数应该如下所示:

    function initMenu() {
    $(".sub-menu").hide();
    $(".current_page_item .sub-menu").show();
    $('#menu li a').click(
    
    function() {
        var checkElement = $(this).next();
        if ((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            checkElement.slideUp('normal');
            return false;
        }
        if ((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#menu ul:visible').not(checkElement.parentsUntil('#menu')).slideUp('normal');
            checkElement.slideDown('normal');
            return false;
        }
    });
    
    $('.current-menu-item').parentsUntil('#menu').slideDown('normal');
    
    var FullCurrentURL = window.location.href;
    var CurrentURLparts = FullCurrentURL.split("/");
    var CurrentURLindex = CurrentURLparts.length - 1;
    var CurrentURL = CurrentURLparts[CurrentURLindex];
    
    $('#menu li a').each(function () {
        var fullLinkURL = $(this).attr('href');
          var LinkURLparts = fullLinkURL.split("/");
          var LinkURLindex = LinkURLparts.length - 1;
          var LinkURL = LinkURLparts[LinkURLindex];
          if (LinkURL === CurrentURL){
            $(this).parents("li").addClass("current-menu-item");
            $(this).closest("ul").css('display', 'block');   
        }
    });
    
    }
    $(function() {
    initMenu();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      相关资源
      最近更新 更多