2013-06-17 2 views
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(); 
}); 

답변

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(); 
}); 
관련 문제