001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099
// (2022.8.25, 차재복, Cha Jae Bok, http://www.ktword.co.kr) // 편집 용어 선택 (div 생성 및 용어선택 페이지 호출) function word_choice(node, letter, page, jump_url) { // 바로 다음에 출력 div 생성 삽입 let floatDiv = document.getElementById('floatDiv'); if (!floatDiv) { // div 생성 처리 let newDiv = document.createElement('div'); newDiv.id = 'floatDiv'; newDiv.style.border = '2px red solid'; newDiv.style.padding = '10px 10px 10px'; newDiv.style.backgroundColor = 'white'; newDiv.style.display = 'block'; newDiv.style.marginLeft = node.style.marginLeft; // node 직후 div 삽입 floatDiv = insertAfter(node, newDiv); // base_utils/common_utils.js // floatDiv 내 upperDiv (닫음 버튼용) let upperDiv = document.createElement('div'); floatDiv.appendChild(upperDiv); // 닫음 이벤트 버튼 upperDiv.style.marginBottom = '10px'; let close = document.createElement('button'); close.style.width = '100px'; close.innerText = '창닫음'; close.addEventListener('click', function (e) { itemShowHide(floatDiv, e.target); // base_utils/common_utils.js }); upperDiv.appendChild(close); // lowerDiv.appendChild(div); } else { floatDiv.style.display = "block"; } // floatDiv 내 lowerDiv (페이지 출력용) let lowerDiv = document.getElementById('lowerDiv'); if (!lowerDiv) { let div = document.createElement('div'); div.id = 'lowerDiv'; floatDiv.appendChild(div); lowerDiv = div; } // 용어 선택용 페이지 호출하여, lowerDiv 창에 보여줌 let method = 'get'; if (!page) page = '1'; let url = '/test/paging/page_testing.php'+'?p='+page+'&sh='+letter; let xhr = new XMLHttpRequest(); xhr.open(method, url); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // 페이지 구분 출력 lowerDiv.innerHTML = xhr.responseText; // 매 줄 (용어명) 마다 let lines = lowerDiv.getElementsByClassName('line'); for (let i = 0, len=lines.length; i < len; i++) { lines.item(i).addEventListener('click', function(e) { e.preventDefault(); // let href = lines.item(i).getAttribute('href'); query = href.substring(href.lastIndexOf('?')+1); let searchParms = new URLSearchParams(query); let no = searchParms.get('no'); window.location.href = jump_url+'?no='+no; /* if (typeof glob_var === 'undefined') window.location.href = '/test/edit/edit.php?no='+no; else if (glob_var.jump_url) window.location.href = glob_var.jump_url+'?no='+no; */ }); } // 매 페이지번호 마다 let pages = lowerDiv.getElementsByClassName('pages') for (let i = 0, len=pages.length; i < len; i++) { pages.item(i).addEventListener('click', function(e) { e.preventDefault(); // let page = pages.item(i).dataset.page; word_choice(lowerDiv, letter, page, jump_url) }); } } }; xhr.send(); }