// 메인 배너 슬라이드 제어 var main_swiper = false; $(document).ready(() => { loadGameList(); $(".main_swiper_wrap").css("opacity", "1"); }); function mainSwiper() { main_swiper = new Swiper('#mainSwiper', { slideToClickedSlide: true, preventClicks: true, slidesPerView: 2.8, // slidesPerGroup: 3, // spaceBetween: 16, slidesOffsetBefore: 24, // slidesOffsetAfte: 0, observer: true, observeParents: true, loop:true, loopAdditionalSlides: 1, autoplay: { delay: 4000, disableOnInteraction: false, }, navigation: { nextEl: '.main_swiper_wrap .swiper-button-next', prevEl: '.main_swiper_wrap .swiper-button-prev', }, }); } /** * 게임 리스트 불러오기 */ function loadGameList() { $.ajax({ dataType: "json", type: "post", data: { "load_type": list_category, "slot": list_slot, "gid": gid, }, url: "/game_list", success: function(data) { setGameImage(data); } }); } /** * 게임 이미지 넣을 수 있는 대상 찾기 */ function getNextImageTarget(){ if (page_url.includes('/game')) { // 게임 플레이 화면 // 1. 가장 큰 이미지 3개 let big_index = [14, 30, 45]; for (let index of big_index) { target = $('.grid .thumb').eq(index); if (!target.find('.game_thumb_title').length) { return [target, 1]; } } // 2. 중간 이미지 11개 let middle_index = [0, 9, 12, 20, 21, 22, 27, 35, 40, 43, 46]; for (let index of middle_index) { target = $('.grid .thumb').eq(index); if (!target.find('.game_thumb_title').length) { return [target, 2]; } } target = $('.grid .thumb:not(:has(>.game_thumb_title))').first(); if (target.length) { return [target, 3]; } return [undefined, 0]; } else if (page_url.includes('/category/')) { // 좌측 탭 카테고리 별 화면 // 1. 상단 이미지 가장 큰 3개 target = $('._best li:not(:has(>a))').first(); if (target.length) { return [target, 1]; } // 2. 중단 이미지 12개 target = $('._normal li:not(:has(>a))').first(); if (target.length) { return [target, 2]; } return [undefined, 0]; } else { // 메인 화면 // 우선 순위 // 1. 상단 슬라이드 가장 큰 이미지 2개 target = $('div .big:not(:has(>a))').first(); if (target.length) { return [target, 1]; } // 2. 상단 슬라이드 작은 이미지 8개 target = undefined; $('div .swiper-slide .inner').each((idx, ele) => { if ($(ele).children('a').length < 4) { target = $(ele); } }); if (target) { return [target, 2]; } // 3. 중단 가장 큰 이미지 2개 let big_index = [4, 56]; for (let index of big_index) { target = $('.game_list_wrap .inner .grid').eq(index - 1); if (!target.find('a').length) { return [target, 3]; } } // 4. 중단 보통 이미지 16개 let middle_index = [1, 2, 3, 11, 12, 16, 17, 19, 23, 24, 25, 42, 49, 60, 62, 67]; for (let index of middle_index) { target = $('.game_list_wrap .inner .grid').eq(index - 1); if (!target.find('a').length) { return [target, 4]; } } // 5. 중단 작은 이미지 target = $('.game_list_wrap .inner .grid:not(:has(>a))').first(); if (target.length) { return [target, 5]; } return [undefined, 0]; } } function setGameImage(data) { if (page_url.includes('/category/')) { // 좌측 탭 카테고리 별 화면 let target = $('._normal'); for (let i = 3; i < data.length; i++) { target.append('
  • '); } // 게임 플레이 화면 for (let game_info of data) { [target, check] = getNextImageTarget(); if (target !== undefined) { target.html('

    '+game_info.title+'

    '); } } } else if (page_url.includes('/game')) { // 게임 플레이 화면 for (let game_info of data) { [target, check] = getNextImageTarget(); if (target !== undefined) { $(target).attr('href', '/game'+game_info.gid); target.html('

    '+game_info.title+'

    '); } } } else { // 메인 화면 let target = $('.game_list_wrap .inner'); for (let i = 0; i < data.length; i++) { target.append('
    '); } for (let game_info of data) { [target, check] = getNextImageTarget(); if (target !== undefined) { target.append('

    '+game_info.title+'

    '); } } // 스와이핑 시작 mainSwiper(); } } // 메인 화면 순서에 따른 게임 이미지 출력 function getGameImage(game_info, check) { switch (check) { case 1: case 2: return game_info.read_img; default: return game_info.thum; } } $(document).ready(function () { // SNS 공유하기 모달 제어 $('#btnSnsShare').click(function () { $('#modalSnsShare').show(); }); });