1// 모ë°ì¼ ë©ë´ 2$(document).ready(function() { 3 // ë©ë´ ì´ê¸° 4 $('#menu_open_btn').on('click', function() { 5 $('#mobile_menu').addClass('active'); 6 $('#mobile_menu_overlay').addClass('active'); 7 $('body').css('overflow', 'hidden'); 8 }); 9 10 // ë©ë´ ë«ê¸° 11 function closeMobileMenu() { 12 $('#mobile_menu').removeClass('active'); 13 $('#mobile_menu_overlay').removeClass('active'); 14 $('body').css('overflow', ''); 15 } 16 17 $('#mobile_menu_close').on('click', closeMobileMenu); 18 $('#mobile_menu_overlay').on('click', closeMobileMenu); 19 20 // ë©ë´ ìì´í í´ë¦ ì ë©ë´ ë«ê¸° 21 $('#mobile_menu a').on('click', function() { 22 closeMobileMenu(); 23 }); 24}); 25 26// ë ì´ìì 27$(window).on('resize', function() { 28 const windowWidth = $(window).width(); 29 const maxWidth = 1280; 30 const widthPercentage = 0.9; 31 32 let calculatedWidth = windowWidth * widthPercentage; 33 if (calculatedWidth > maxWidth) { 34 calculatedWidth = maxWidth; 35 } 36 37 const marginLeft = (windowWidth - calculatedWidth) / 2; 38 39 $('body').css('--margin-left', marginLeft + 'px'); 40 $('body').css('--margin-right', marginLeft + 'px'); 41}); 42$(document).ready(function() { 43 $(window).trigger('resize'); 44}); 45 46function loading_show(){ 47 $(".loading-bar").addClass("show"); 48} 49function loading_hide(){ 50 $(".loading-bar").removeClass("show"); 51} 52$(document).on("click", ".ed_btn_close", function () { 53 $("body").removeClass("hidden") 54 $(".modal").removeClass("show") 55}) 56function alert_modal(msg, focus_obj, url, closeText=""){ 57 if(msg){ 58 $("body").addClass("hidden"); 59 $("#common_modal").addClass("show"); 60 $("#common_modal .modal_title").html(decodeURIComponent(msg)); 61 if(closeText){ 62 $("#common_modal .btn.close_btn").html(closeText); 63 } 64 if(url){ 65 $("#common_modal").removeClass("back-close"); 66 } 67 68 $("#common_modal .btn.close_btn").off('click').on("click",function(){ 69 $("body").removeClass("hidden"); 70 $("#common_modal.modal").not(".direct").removeClass("show"); 71 72 if(focus_obj){ 73 $(focus_obj).focus(); 74 } 75 76 if(url){ 77 if(url=="reload"){ 78 location.reload(); 79 }else if(url=="back"){ 80 history.back(); 81 }else if(url=="close"){ 82 window.close(); 83 }else{ 84 location.href=decodeURIComponent(url); 85 } 86 } 87 }); 88 }else if(url){ 89 if(url=="reload"){ 90 location.reload(); 91 }else{ 92 location.href=decodeURIComponent(url); 93 } 94 } 95} 96 97function confirm_modal_super(msg, fnc_obj, url, title1, title2){ 98 if(title1){ 99 $("#confirm_modal .modal_btnbox .btn.process").html(title1); 100 } 101 102 if(title2){ 103 $("#confirm_modal .modal_btnbox .btn.close_btn").html(title2); 104 } 105 106 $("body").addClass("hidden"); 107 $("#confirm_modal").addClass("show"); 108 $("#confirm_modal .modal_title").html(decodeURIComponent(msg)); 109 110 $("#confirm_modal .btn.process").off('click').on("click",function(){ 111 $("body").removeClass("hidden"); 112 $("#confirm_modal.modal").removeClass("show"); 113 114 if (typeof fnc_obj === 'string' && fnc_obj.trim() !== '') { 115 try { 116 // 문ìë¡ ëì´ì¨ fnc_obj í¨ì ì¤í 117 eval(fnc_obj); 118 } catch (e) { 119 console.error('Error executing function:', e); 120 } 121 } 122 123 }); 124 $("#confirm_modal .btn.close_btn").off('click').on("click",function(){ 125 $("body").removeClass("hidden"); 126 $("#confirm_modal.modal").removeClass("show"); 127 128 if(url){ 129 if(url=="reload"){ 130 location.reload(); 131 }else{ 132 location.href=decodeURIComponent(url); 133 } 134 } 135 }); 136} 137 138// ìì½ëì¸ ê¸°ë¥ 139(function ($) { 140 141 const lnbUI = { 142 click: function (target, speed) { 143 let _self = this, 144 $target = $(target); 145 _self.speed = speed || 400; 146 147 $target.each(function () { 148 if (findChildren($(this))) { 149 return; 150 } 151 $(this).addClass('noDepth'); 152 }); 153 154 function findChildren(obj) { 155 return obj.find('> ul').length > 0; 156 } 157 158 $target.on('click', '.acc_tit', function (e) { 159 e.stopPropagation(); 160 let $this = $(this), 161 $depthTarget = $this.next(), 162 $siblings = $this.parent().siblings(); 163 164 $this.parent('li').find('ul li').removeClass('show'); 165 $siblings.removeClass('show'); 166 $siblings.find('ul').slideUp(400); 167 168 if ($depthTarget.css('display') == 'none') { 169 _self.activeOn($this); 170 $depthTarget.slideDown(_self.speed); 171 } else { 172 $depthTarget.slideUp(_self.speed); 173 _self.activeOff($this); 174 } 175 176 }) 177 178 }, 179 activeOff: function ($target) { 180 $target.parent().removeClass('show'); 181 }, 182 activeOn: function ($target) { 183 $target.parent().addClass('show'); 184 }, 185 186 }; 187 188 // navbox 189 $(function () { 190 lnbUI.click('.accordion li', 400) 191 }); 192 193}(jQuery)); 194 195 196// í 197$(document).ready(function () { 198 $(".tab_wrap .tab_nav").click(function () { 199 let clickedTab = $(this); 200 let tabWrap = clickedTab.closest(".tab_wrap"); 201 let allTabs = tabWrap.find(".tab_nav"); 202 let allContents = tabWrap.find(".tab_cont"); 203 let idx = allTabs.index(clickedTab); 204 205 allTabs.removeClass("on"); 206 clickedTab.addClass("on"); 207 allContents.removeClass("on"); 208 allContents.eq(idx).addClass("on"); 209 }); 210}); 211 212 213// datepicker 214$(document).ready(function () { 215 if ($(".datepicker").length) { 216 $.datepicker.setDefaults({ 217 closeText: "ë«ê¸°", 218 prevText: "ì´ì ë¬", 219 nextText: "ë¤ìë¬", 220 currentText: "ì¤ë", 221 monthNames: ["1ì", "2ì", "3ì", "4ì", "5ì", "6ì", "7ì", "8ì", "9ì", "10ì", "11ì", "12ì"], 222 monthNamesShort: ["1ì", "2ì", "3ì", "4ì", "5ì", "6ì", "7ì", "8ì", "9ì", "10ì", "11ì", "12ì"], 223 dayNames: ["ì¼ìì¼", "ììì¼", "íìì¼", "ììì¼", "목ìì¼", "ê¸ìì¼", "í ìì¼"], 224 dayNamesShort: ["S", "M", "T", "W", "T", "F", "S"], 225 dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"], 226 weekHeader: "주", 227 dateFormat: "yy-mm-dd", 228 firstDay: 0, 229 isRTL: false, 230 showMonthAfterYear: true, 231 showOtherMonths: true, 232 yearSuffix: "ë " 233 }); 234 235 $(".datepicker").datepicker({ 236 maxDate: 'today', 237 }); 238 } 239}); 240 241 242// ëª¨ë¬ ê³µíµ 243$(".modal .close_btn").click(function () { 244 $("body").removeClass("hidden") 245 $(".modal").removeClass("show") 246}) 247// $(document).mouseup(function (e) { 248// if ($(".modal .modal_box").has(e.target).length === 0 && $(".ui-datepicker").has(e.target).length === 0) { 249// $("body").removeClass("hidden") 250// $(".modal").removeClass("show") 251// } 252// }); 253 254 255// íì ê³µíµ 256$(".popup .pop_close").click(function () { 257 $(this).closest(".popup").removeClass("show") 258}) 259// $(document).mouseup(function (e) { 260// if ($(".popup").has(e.target).length === 0 ) { 261// $(".popup").removeClass("show") 262// } 263// }); 264 265 266// ë¶ë§í¬ ë²í¼ 267$(document).on("click", ".bookmark_btn", function () { 268 // console.log('::'+$(this).data("id")); 269 $(this).toggleClass("on") 270 $('.bookmark_btn_'+$(this).data("id")).toggleClass("on") 271}) 272 273 274 275// ë©ì¸ 276const ms1_swiper = new Swiper('.ms1_swiper', { 277 observer: true, 278 observeParents: true, 279 speed:500, 280 slidesPerView: 'auto', 281 spaceBetween: 16, 282 grabCursor: true, 283 autoplay: { 284 delay: 2000, // 2ì´ë§ë¤ ìë ì´ë 285 disableOnInteraction: false, // ì¬ì©ìê° ì¡°ìí´ë ìë ì¬ì ê³ì 286 }, 287 navigation: { 288 nextEl: ".ms1_swiper .next_btn", 289 prevEl: ".ms1_swiper .prev_btn", 290 }, 291 breakpoints: { 292 1080: { 293 spaceBetween: 20, 294 }, 295 }, 296}) 297const ms1_banner = new Swiper('.ms1_banner', { 298 observer: true, 299 observeParents: true, 300 speed:500, 301 direction: 'horizontal', 302 slidesPerView: 'auto', 303 spaceBetween: 16, 304 breakpoints: { 305 1080: { 306 direction: 'horizontal', 307 spaceBetween: 0, 308 }, 309 1181: { 310 direction: 'vertical', 311 spaceBetween: 0, 312 }, 313 }, 314}) 315const ms1_latest1 = new Swiper('.ms1_latest1', { 316 observer: true, 317 observeParents: true, 318 direction: 'vertical', 319 loop: true, 320 speed:500, 321 autoplay: { 322 delay: 4000, 323 disableOnInteraction: false, 324 }, 325 navigation: { 326 nextEl: ".ms1_latest1_box .next_btn", 327 prevEl: ".ms1_latest1_box .prev_btn", 328 }, 329}) 330const ms1_latest2 = new Swiper('.ms1_latest2', { 331 observer: true, 332 observeParents: true, 333 direction: 'vertical', 334 loop: true, 335 speed:500, 336 autoplay: { 337 delay: 5000, 338 disableOnInteraction: false, 339 }, 340 navigation: { 341 nextEl: ".ms1_latest2_box .next_btn", 342 prevEl: ".ms1_latest2_box .prev_btn", 343 }, 344}) 345const ms2_swiper = new Swiper('.ms2_swiper', { 346 observer: true, 347 observeParents: true, 348 speed:500, 349 slidesPerView: 'auto', 350 spaceBetween: 16, 351 grabCursor: true, 352 autoplay: { 353 delay: 3000, 354 disableOnInteraction: false, 355 }, 356 navigation: { 357 nextEl: ".ms2 .next_btn", 358 prevEl: ".ms2 .prev_btn", 359 }, 360 breakpoints: { 361 1080: { 362 slidesPerView: 4, 363 spaceBetween: 18, 364 }, 365 }, 366}) 367const ms3_swiper = new Swiper('.ms3_swiper', { 368 observer: true, 369 observeParents: true, 370 speed:500, 371 slidesPerView: 'auto', 372 spaceBetween: 16, 373 grabCursor: true, 374 autoplay: { 375 delay: 3000, 376 disableOnInteraction: false, 377 }, 378 navigation: { 379 nextEl: ".ms3 .next_btn", 380 prevEl: ".ms3 .prev_btn", 381 }, 382 breakpoints: { 383 1080: { 384 slidesPerView: 4, 385 spaceBetween: 18, 386 }, 387 }, 388}) 389 390// ìì¸ 391const ds3_swiper = new Swiper('.ds3_swiper', { 392 observer: true, 393 observeParents: true, 394 speed:500, 395 slidesPerView: 'auto', 396 spaceBetween: 16, 397 grabCursor: true, 398 navigation: { 399 nextEl: ".ds3 .next_btn", 400 prevEl: ".ds3 .prev_btn", 401 }, 402 breakpoints: { 403 1080: { 404 slidesPerView: 4, 405 spaceBetween: 18, 406 }, 407 }, 408}) 409const ds4_swiper = new Swiper('.ds4_swiper', { 410 observer: true, 411 observeParents: true, 412 speed:500, 413 slidesPerView: 'auto', 414 spaceBetween: 0, 415 breakpoints: { 416 1080: { 417 slidesPerView: 3, 418 spaceBetween: 0, 419 }, 420 }, 421}) 422 423// íìê°ì 424$(document).ready(function () { 425 const agreeAll = $('.join_wrap #agreeAll'); 426 const checks = $('.join_wrap #termsOfUse, .join_wrap #privacyPolicy'); 427 428 agreeAll.on('change', function () { 429 checks.prop('checked', $(this).is(':checked')); 430 }); 431 432 checks.on('change', function () { 433 const allChecked = checks.length === checks.filter(':checked').length; 434 agreeAll.prop('checked', allChecked); 435 }); 436}); 437 438function validateEmail(email) { 439 // Regular expression for email validation 440 var regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; 441 // Return true if email matches regex, false otherwise 442 return regex.test(email); 443} 444 445const mem_pass_regex = /^.*(?=.{8,20})(?=.*[0-9])(?=.*[a-z]).*$/; 446 447const autoHyphenPhone = (target) => { 448 target.value = target.value 449 .replace(/[^0-9]/g, '') 450 .replace(/^(\d{2,3})(\d{3,4})(\d{4})$/, `$1-$2-$3`); 451 } 452 453function validatePhone(hp){ 454 if(hp == ""){ 455 return true; 456 } 457 458 var phoneRule = /^(010)-?[0-9]{3,4}-?[0-9]{4}$/; 459 return phoneRule.test(hp); 460} 461 462//íì ì²´í¬ ì ê·ì 463var fullHanjaRegex = /^[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]+$/; 464//ì문 ì²´í¬ ì ê·ì 465var fullEngRegex = /^[a-zA-Z\s]+$/; 466var fullNumRegex = /^[0-9]+$/; 467 468function fnc_loofit_view(recruit_no, setup_no){ 469 // console.log(recruit_no, setup_no); 470 471 if(!recruit_no || !setup_no) { 472 alert_modal("ì±ì©ë²í¸ê° ììµëë¤."); 473 return false;
474 } 475 $.ajax({ 476 url: "/main/loofit_view", 477 type: "get", 478 data: "recruit_no=" + recruit_no + "&setup_no=" + setup_no, 479 success: function(response){ 480 // console.log(response); 481 response = JSON.parse(response); 482 if(response.result == 1){ 483 $("#recruit_view_modal").html(response.data.page); 484 $("#recruit_view_modal .modal .modal_box").css({ 485 'transition': 'none' 486 }).css({ 487 'top': 'auto', 488 'left': '0%', 489 'transform': 'translateX(0%) translateY(100%)', 490 'transition-property': 'transform', 491 'transition-duration': '0.3s', 492 'transition-timing-function': 'cubic-bezier(0.25, 0.46, 0.45, 0.94)' 493 }); 494 495 // ëª¨ë¬ íì 496 $("#recruit_view_modal").show(0); 497 498 // ì½ê°ì ì§ì° í transform ë³ê²½ 499 setTimeout(() => { 500 $("#recruit_view_modal .modal .modal_box").css('transform', 'translateX(0%) translateY(0)'); 501 }, 100); 502 }else{ 503 alert_modal(response.msg); 504 } 505 },error: function(xhr, status, error){ 506 console.log(xhr.responseText); 507 } 508 }); 509}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.