0

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

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

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

感谢任何人都可以提供的任何帮助!

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();
});
4

1 回答 1

0

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();
});
于 2014-02-21T09:15:13.100 回答