Actions
새기능 #5719
완료됨이호영이(가) 2일 전에 변경
- 상태을(를) 신규에서 완료(으)로 변경되었습니다.
$(function(){
console.log('??!!???');
const currentPath = window.location.pathname;
console.log(currentPath);
if (currentPath !== '/web/main/mainPage.do') {
if (currentPath === '/web/content.do') {
fn_getSubMenu();
}
}
});
function fn_getSubMenu(){
var title = $('#container .sub_title').text();
var subTitle = $.trim($('.content_title').text());
console.log('title ::', title);
console.log('subTitle ::', subTitle);
var sendData = {
"depth1MenuNm" : title
, "depth2MenuNm" : subTitle
}
$.ajax({
type: 'POST',
url: "/web/com/subMenu.do",
contentType: 'application/json',
data: JSON.stringify(sendData),
dataType: 'json',
success: function(data) {
console.log(data);
if(data.status == 'OK'){
renderSubVisualNav(data);
}
},
error: function(err) {
console.error(err);
}
});
}
// AJAX 성공 시 호출되는 함수 내부
function renderSubVisualNav(res) {
const result = res.data || res; // res.data가 있으면 쓰고, 없으면 res 자체를 사용
const depth1List = result.depth1List || []; // 데이터가 없으면 빈 배열로 초기화
const depth2List = result.depth2List || [];
const selected1 = result.selectedDepth1;
const selected2 = result.selectedDepth2;
let html = '';
// 1. 기본 홈 아이콘
html += '<a href="/"><i class="icon home"></i></a>';
// 2. 1Depth 메뉴 생성
if (depth1List.length > 0) { // 리스트가 있을 때만 실행
html += '<div class="snb_wrap">';
html += ` <button type="button" class="snb_title">${selected1 ? selected1.text : '메뉴'}</button>`;
html += ' <ul class="snb_select">';
depth1List.forEach(item => {
html += ` <li><a href="${item.url || '#'}">${item.text}</a></li>`;
});
html += ' </ul>';
html += '</div>';
}
// 3. 2Depth 메뉴 생성
if (depth2List.length > 0) {
html += '<div class="snb_wrap">';
html += ` <button type="button" class="snb_title">${selected2 ? selected2.text : '메뉴'}</button>`;
html += ' <ul class="snb_select">';
depth2List.forEach(item => {
html += ` <li><a href="${item.url || '#'}">${item.text}</a></li>`;
});
html += ' </ul>';
html += '</div>';
}
document.querySelector('.sub_visual_nav').innerHTML = html;
}
Actions