<script type="text/javascript">
jQuery(function($) {
// 1. 현재 위치 표시 부분에 current 관련 클래스가 있는 메뉴의 텍스트를 복사 ---------------------------
// 1-1) 현재 위치 두번째
let breadcrumbs_menu_second = $('.breadcrumbs-menu.menu-second .w-text-value');
let current_second = $('#breadcrumbs-menu-data > .menu > .current-menu-ancestor > a').text();
if ( $('#breadcrumbs-menu-data > .menu > .current-menu-item').length ) {
// 서브 메뉴가 없는 메뉴는 클래스명이 다름 (current-menu-item)
current_second = $('#breadcrumbs-menu-data > .menu > .current-menu-item > a').text();
}
breadcrumbs_menu_second.text(current_second);
// 1-2) 현재 위치 세번째
let breadcrumbs_menu_third = $('.breadcrumbs-menu.menu-third .w-text-value');
let current_third = $('#breadcrumbs-menu-data > .menu > .current-menu-ancestor .sub-menu > .current-menu-item a').text();
if (current_third) {
// 서브 메뉴 중에 current-menu-item 클래스를 가진 메뉴가 있는 경우
breadcrumbs_menu_third.text(current_third);
}
// 2. 드롭다운 메뉴 리스트 만들어 붙이기 ------------------------------------------------------
// 2-1) 2댑스 메뉴들 중 부모 메뉴에 현재 위치가 있는 것을 새 리스트에 담고, 현재 위치 표시 요소에 붙이기
let $thirdUl = $('<ul>').addClass('breadcrumbs-menu-sub breadcrumbs-menu-third-sub');
if ( $('#breadcrumbs-menu-data > .menu > .current-menu-ancestor').length ) {
// 선택된 모든 요소에 대한 반복문 (.each)
$('#breadcrumbs-menu-data > .menu > .current-menu-ancestor > ul').each(function(index, element) {
// 각 요소에 대한 작업 수행
// index는 현재 요소의 인덱스이고, element는 현재 요소 자체입니다.
// 예: 각 요소의 텍스트 콘텐츠 출력
$thirdUl.append($(element).html());
});
$('.breadcrumbs-menu.menu-third').append($thirdUl);
} else if ( $('#breadcrumbs-menu-data > .menu > .current-menu-item > ul').length ) {
// 자식 메뉴가 있지만, 부모 페이지도 링크를 가진 경우, 클래스명이 달라짐
$('#breadcrumbs-menu-data > .menu > .current-menu-item > ul').each(function(index, element) {
$thirdUl.append($(element).html());
});
$('.breadcrumbs-menu.menu-third').append($thirdUl);
} else {
// 자식 메뉴가 없는 페이지는 현재 위치 표시 구조에서 세번째 것을 없앰
$('.breadcrumbs-menu.menu-third').remove();
}
$('#breadcrumbs-menu-data > .menu .sub-menu').remove(); // 이제 서브 메뉴들은 삭제
// 2-2) 1댑스 메뉴들만 리스트로 만들어서 현재 위치 표시 요소에 붙이기 (2-1 끝에서 이미 자식 메뉴들은 다 제거된 상태)
let $secondUl = $('<ul>').addClass('breadcrumbs-menu-sub breadcrumbs-menu-second-sub');
// 선택된 모든 요소에 대해 반복
$('#breadcrumbs-menu-data > .menu').each(function(index, element) {
$secondUl.append($(element).html());
});
$('.breadcrumbs-menu.menu-second').append($secondUl);
$('#breadcrumbs-menu-data').remove();
// 3. hover event check --------------------------------------------------------------
// 마우스가 요소 위에 올라갔을 때의 이벤트를 체크해서 붙여진 리스트가 보이도록 클래스를 토글(toggle)
$(".breadcrumbs-menu").hover(function(){
// 마우스가 요소 위에 있을 때 실행되는 코드
$(this).find('.breadcrumbs-menu-sub').toggleClass('on');
}, function(){
// 마우스가 요소에서 벗어났을 때 실행되는 코드
$(this).find('.breadcrumbs-menu-sub').toggleClass('on');
});
});
</script>