const html = document.querySelector("html"); const header = document.querySelector("header"); let windowWidth = window.innerWidth; let windowHeight = window.innerHeight; let mobileWidth = 1200; let scrollPos = 0; let stickyPos = 0; let ticking = false; let timeout; // let burgerMenu = document.querySelector(".header_mobile__btn"); let linkToggle; let delay = 300; let timer; // Common Header function headerEvent() { window.addEventListener("scroll", scroll, false); window.addEventListener("resize", resize, false); (headerAnimate = function (call) { windowWidth = window.innerWidth; windowHeight = window.innerHeight; scrollPos = window.scrollY || window.pageYOffset; animated(); if (windowWidth > mobileWidth) { header.setAttribute("data-header-mobile", "off"); // burgerMenu.setAttribute('aria-pressed','false'); // burgerMarker(); } if (call === undefined) { // initialized(); } else if (call === "scroll") { // scrolled(); } else if (call === "resize") { // resized(); } })(); function animated() { // scrollTop(); sticky(); } function resize() { clearTimeout(timer); timer = setTimeout(function () { timer = null; handle(); }, 66); } function handle() { call = "resize"; headerAnimate(call, windowWidth); } function scroll() { // 조건문 실행 - 초기 변수가 참인지 거짓인지 판단 후 변환 if (!ticking) { window.requestAnimationFrame(() => { call = "scroll"; headerAnimate(call); ticking = false; }); ticking = true; } } function sticky() { let scrollPos = window.pageYOffset || document.documentElement.scrollTop; let siteMapMenu = document.querySelector(".site-map_menu"); if (scrollPos > stickyPos) { header.setAttribute("data-header", "sticky"); } else { header.removeAttribute("data-header"); } if (siteMapMenu.classList.contains("on")) { header.removeAttribute("data-header"); } if (scrollPos > 0) { header.classList.add("active"); } else { header.classList.remove("active"); } // 조건문 실행 후 변수 재설정 하여 조건문 재실행 stickyPos = scrollPos <= 0 ? 0 : scrollPos; // AOS Event Scroll AOS.init({ // offset: 300, duration: 800, easing: "ease", once: true, }); } // PC Menu Action function hoverAction() { header.addEventListener("mouseenter", function () { header.classList.add("header-active"); }); header.addEventListener("mouseleave", function () { header.classList.remove("header-active"); }); let menuLists = document.querySelectorAll(".header_menu__list"); let menu = document.querySelector('.header_menu'); menuLists.forEach((list) => { let submenu = list.querySelector(".header_submenu"); if (submenu) { list.addEventListener("mouseenter", function () { menuLists.forEach((current) => { current.classList.remove("menu-active"); }); list.classList.add("menu-active"); menu.classList.add("menu-active"); }); list.addEventListener("mouseleave", function () { list.classList.remove("menu-active"); menu.classList.remove("menu-active"); }); } }); } hoverAction(); function LanguageBoxEvent() { // Language Box Event let languageBox = document.querySelector(".language-box"); let languageIcon = document.querySelector(".language_icon"); languageIcon.addEventListener("click", function () { languageBox.classList.toggle("on"); }); } LanguageBoxEvent(); // Header Site Map Event function siteMapEvent() { let siteMapIcon = document.querySelector(".site-map_icon"); let siteMapMenu = document.querySelector(".site-map_menu"); siteMapIcon.addEventListener("click", function () { siteMapMenu.classList.toggle("on"); siteMapIcon.classList.toggle("active"); }); } siteMapEvent(); // Header Site Map Mobile Event function siteMapMobileEvent() { let siteMapToggle = document.querySelectorAll(".site-map_menu__toggle"); let siteMapMenuList = document.querySelectorAll(".site-map_submenu_depth"); for (let i = 0; i < siteMapToggle.length; i++) { siteMapToggle[i].addEventListener("click", function () { for (let j = 0; j < siteMapToggle.length; j++) { siteMapToggle[j].classList.remove("on"); siteMapMenuList[j].classList.remove("on"); } siteMapToggle[i].classList.add("on"); siteMapMenuList[i].classList.add("on"); }); } } siteMapMobileEvent(); } // Common Footer function footerEvent() { let familySite = document.querySelector(".family-site"); if(window.matchMedia("(min-width: 1201px)").matches) { familySite.addEventListener("mouseover", function () { familySite.classList.add("on"); }); familySite.addEventListener("mouseout", function () { familySite.classList.remove("on"); }); } else { familySite.addEventListener("click", function () { familySite.classList.toggle("on"); }); } // 푸터 스크롤 탑 let scrollTopBtn = document.querySelector('#footer .footer-top-btn'); scrollTopBtn.addEventListener('click',function(){ var offset = $(".section--01").offset(); $("html, .section--01").animate({ scrollTop: offset.top }, 500); }) } // Main Event // Main Visual function mainVisual() { let options = { effect: "fade", fadeEffect: { crossFade: true, }, speed: 1000, allowTouchMove: true, breakpointsInverse: true, loop: true, autoplay: { delay: 7000, disableOnInteraction: false, }, navigation: { nextEl: ".section--01 .next", prevEl: ".section--01 .prev", }, pagination: { el: ".section--01 .pagination", clickable: true, }, breakpoints: { 993: { allowTouchMove: false, }, }, }; const visualSlider = new Swiper(".section--01 .swiper-container", options); let stopBtn = document.querySelector(".section--01 .btn-stop"); stopBtn.addEventListener("click", function () { visualSlider.autoplay.stop(); }); // 스크롤다운 function scrollDownbtn() { $(".scroll-down").click(function () { var offset = $(".section--02").offset(); $("html, .section--02").animate({ scrollTop: offset.top }, 500); }); } scrollDownbtn(); } // Main Count Up Event function counterEvent() { $(".section--02 .count").countUp({ delay: 30, time: 1500, }); } // Main Section--03 BackgroundChange function mainSection3() { // Item Box Hover Event let technologyItem = document.querySelectorAll(".technology__item"); let backgroundList = document.querySelectorAll(".background_list"); // console.log(technologyItem); // console.log(backgroundList); for (let i = 0; i < technologyItem.length; i++) { technologyItem[i].addEventListener("mouseover", function () { backgroundList[i].classList.add("on"); technologyItem[i].classList.add("on"); }); } for (let i = 0; i < technologyItem.length; i++) { technologyItem[i].addEventListener("mouseout", function () { backgroundList[i].classList.remove("on"); technologyItem[i].classList.remove("on"); }); } for (let i = 0; i < technologyItem.length; i++) { technologyItem[i].addEventListener("click", function () { for (let j = 0; j < technologyItem.length; j++) { technologyItem[j].classList.remove("on"); backgroundList[j].classList.remove("on"); } technologyItem[i].classList.add("on"); backgroundList[i].classList.add("on"); }); } } // Main Section--04 TabContents function tabContents(){ let tabList = document.querySelectorAll(".section--04 .list_tab li"); let tabItem = document.querySelectorAll(".section--04 .tab_con"); let tabMorebtn = document.querySelectorAll(".section--04 .view-more-btn"); // console.log(tabList); // console.log(tabItem); for(let i = 0; i < tabList.length; i++){ tabList[i].addEventListener('click',function(){ for(let j =0; j < tabList.length; j++){ tabList[j].classList.remove('on'); tabItem[j].classList.remove('on'); tabMorebtn [j].classList.remove('on'); } tabList[i].classList.add('on'); tabItem[i].classList.add('on'); tabMorebtn[i].classList.add('on'); }) } } // Modal Event function modalEvent(){ let modal = document.querySelectorAll('.bbs-modal'); let modalBtn = document.querySelectorAll('.modal-btn'); let modalClose = document.querySelectorAll('.close--modal'); let modalClose2 = document.querySelectorAll('.modal-bg'); for(let i = 0; i < modalBtn.length; i++){ modalBtn[i].addEventListener('click', function(){ modal[i].classList.add('open'); }); modalClose[i].addEventListener('click', function(){ modal[i].classList.remove('open'); }); modalClose2[i].addEventListener('click', function(){ modal[i].classList.remove('open'); }); } } // Sub // Sub Visual Event function subVisualEvent(){ let subVisualSection = document.querySelector('.subvisual-page'); if(subVisualSection) { // scrollTrigger 플러그인 생성 gsap.registerPlugin(ScrollTrigger); let subVisualTrigger = document.querySelector('.sub-path'); let subVisual = document.querySelector('.sub-visual'); let subVisualBg = document.querySelector('.sub-visual .bg'); let scrollAction = gsap.timeline({ scrollTrigger:{ trigger: subVisualTrigger, start: "2.5% top", end: "bottom top", // markers:true, scrub:"1", onEnter: function () { subVisual.classList.add("on"); subVisualBg.classList.add("active"); }, onLeaveBack: function () { subVisual.classList.remove("on"); subVisualBg.classList.remove("active"); } }, }); // 스크롤다운 function scrollDownbtn() { $(".scroll-down").click(function () { var offset = $(".section--02").offset(); $("html, .section--02").animate({ scrollTop: offset.top }, 500); }); } scrollDownbtn(); } } // Sub Count Up Event function subCounterEvent() { let about = document.querySelector('.about'); if(about){ $(".section--02 .count").countUp({ delay: 30, time: 1500, }); } } // Company - About - History Event function historyTab(){ let tabNavi = document.querySelectorAll('.historyTab__item'); let tabContents = document.querySelectorAll('.historyTab__contents'); for(let i = 0; i < tabNavi.length; i++) { tabNavi[i].addEventListener('click',function(){ for(let j = 0; j < tabNavi.length; j++){ tabNavi[j].classList.remove('on'); tabContents[j].classList.remove('on'); } tabNavi[i].classList.add('on'); tabContents[i].classList.add('on'); }) } } // Company - Employment - Employment Event function positionList(){ let career = document.querySelector('.career'); if(career) { let positionItem = document.querySelectorAll('.section--06 .item'); let positionLabel = document.querySelectorAll('.section--06 .label'); // let positionContents = document.querySelectorAll('.position__contents'); for(let i = 0; i < positionLabel.length; i++) { positionLabel[i].addEventListener('click',function(){ for(let j = 0; j < positionLabel.length; j++) { positionItem[j].classList.remove('on'); } positionItem[i].classList.toggle('on'); }); } } } function faqEvent(){ // 게시판 변수 할당 const faqList = document.querySelector('.position-inner'); let questions = document.querySelectorAll('.position-inner .label'); // 자주묻는질문 페이지에서만 해당 이벤트를 실행합니다. if(faqList){ questions.forEach((question) => { question.addEventListener('click', function(){ question.classList.toggle('active'); console.log(question); let questionSibling = question.nextElementSibling; if(question.classList.contains('active')){ questionSibling.style.maxHeight = questionSibling.scrollHeight + "px"; } else { questionSibling.style.maxHeight = 0; } }); }) } } function prevPage(seq) { if(seq === 0) { alert("첫번째 페이지 입니다."); return false; } location.href = "./view.php?seq="+seq; } function nextPage(seq) { if(seq === 0) { alert("마지막 페이지 입니다."); return false; } location.href = "./view.php?seq="+seq; }