MallMainFormMob.html 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="mob/common/layout/DefaultLayoutMob">
  6. <!--
  7. *******************************************************************************
  8. * @source : MallMainFormMob.html
  9. * @desc : 몰메인 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2020 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.03.10 gagamel 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <main role="" id="" class="container">
  22. <section class="main">
  23. <th:block th:if="${mainLayoutList}" th:each="mainData, mainStat : ${mainLayoutList}" th:with="contentsLoc=${#strings.replace(mainData.contentsLoc,'SMM','')},contentsTitle=${#strings.replace(mainData.contentsTitle,'<br>',' ')}">
  24. <!-- <th:block th:if="${mainData.ContentsList != null and !mainData.ContentsList.empty}">-->
  25. <th:block th:if="${contentsLoc=='001'}">
  26. <!-- 1. 비주얼 슬라이드 -->
  27. <div class="inner wide" th:if="${mainData.ContentsList != null and !mainData.ContentsList.empty}">
  28. <div class="main_visual">
  29. <div class="swiper-container post-visual">
  30. <div class="swiper-wrapper">
  31. <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
  32. <div class="swiper-slide">
  33. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
  34. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath2}" alt="">
  35. <div class="txtWrap">
  36. <dl th:class="${ContentsData.strVar7=='BLACK'?'':'w'}">
  37. <dt th:if="${ContentsData.strVar5=='P'}" th:text="${ContentsData.planBrandGroupNm}">NBA</dt>
  38. <dt th:if="${ContentsData.strVar5=='P' and ContentsData.planGb=='E'}">EVENT</dt>
  39. <dd class="mainTitle">
  40. <input type="hidden" name="mainTitlee" th:value="${ContentsData.strTitle1}"/>
  41. </dd>
  42. <!-- <dd>NEW ARRIVAL</dd>-->
  43. <dd class="txt_xs" th:text="${ContentsData.subText1}">나만의 가을 스타일 찾기</dd>
  44. </dl>
  45. </div>
  46. </a>
  47. </div>
  48. </th:block>
  49. </div>
  50. <!-- Add Pagination -->
  51. <div class="swiper-pagination"></div>
  52. </div>
  53. </div>
  54. </div>
  55. </th:block>
  56. <th:block th:if="${contentsLoc=='002'}">
  57. <!-- 2. 스타일리포트 -->
  58. <div class="inner bg_gray">
  59. <div class="main_stylereport">
  60. <th:block th:if="${mainData.contentsTitle != null and !mainData.contentsTitle.empty}">
  61. <div class="titWrap">
  62. <h2 th:text="${mainData.contentsTitle}"></h2>
  63. </div>
  64. </th:block>
  65. <div class="swiper-container post-stylereport">
  66. <div class="swiper-wrapper">
  67. <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
  68. <div class="swiper-slide styleArea" th:if="${ContentsStat.count<5}">
  69. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
  70. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
  71. <dl>
  72. <dt class="styleTitleC">
  73. <input type="hidden" name="styleTitle" th:value="${ContentsData.strTitle1}"/>
  74. </dt>
  75. <dd class="styleNoteC">
  76. <input type="hidden" name="styleNote" th:value="${ContentsData.subText1}"/>
  77. </dd>
  78. <!-- <dd>준비한 아우터 픽을 만나보자</dd>-->
  79. </dl>
  80. </a>
  81. </div>
  82. </th:block>
  83. </div>
  84. <!-- Add Pagination -->
  85. <div class="swiper-pagination"></div>
  86. </div>
  87. </div>
  88. </div>
  89. </th:block>
  90. <th:block th:if="${contentsLoc=='003'}">
  91. <!-- 3. 트렌디한 신상아이템 -->
  92. <div class="inner" th:if="${mainData.goodsList != null}">
  93. <div class="main_trendy">
  94. <th:block th:if="${mainData.contentsTitle != null and !mainData.contentsTitle.empty}">
  95. <div class="titWrap">
  96. <h2 th:text="${mainData.contentsTitle}"></h2>
  97. </div>
  98. </th:block>
  99. <div class="swiper-container post-trendy">
  100. <div class="swiper-wrapper">
  101. <th:block th:each="goodsData, goodsStat : ${mainData.goodsList}">
  102. <th:block th:if="${(goodsStat.index%4)==0 or goodsStat.first}">
  103. <div class="swiper-slide">
  104. </th:block>
  105. <div class="item_prod">
  106. <div class="item_state">
  107. <button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM003', planDtlSq=''">관심상품 추가</button>
  108. <a href="javascript:void(0)" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM003');">
  109. <div class=" itemPic">
  110. <!-- <img alt="BLUE-a" class=" pd_img" src="/images/mo/thumb/main_trendy05.jpg"> onerror="img_check(this)"-->
  111. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  112. <iframe th:if="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${'https://www.youtube.com/embed/'+videoArr[1]+'?autoplay=1&mute=1'}"></iframe>
  113. <iframe th:unless="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${kollusMediaUrl+'/'+videoArr[1]+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" allow="fullscreen" allowFullScreen></iframe>
  114. </th:block>
  115. <img alt="BLUE-a" class=" pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)" >
  116. </div>
  117. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
  118. <div class="itemComment" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
  119. <div class=" itemName" th:text="${goodsData.goodsFullNm}">가을 신상 남성 스탠다드핏 로고맨 블루 볼 캡 유니 경량다운 시보리넥 베스트</div>
  120. <p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">488,000</p>
  121. </a>
  122. </div>
  123. </div>
  124. <th:block th:if="${(goodsStat.index%4)== 3 or goodsStat.last}">
  125. <th:block th:utext="'</div>'"></th:block>
  126. </th:block>
  127. </th:block>
  128. </div>
  129. <!-- Add Pagination -->
  130. <div class="swiper-pagination"></div>
  131. </div>
  132. </div>
  133. </div>
  134. </th:block>
  135. <th:block th:if="${contentsLoc=='004'}">
  136. <!-- 4. 잇 아이템 -->
  137. <div class="inner">
  138. <div class="main_it">
  139. <div class="titWrap">
  140. <!-- <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">-->
  141. <a href="javascript:void(0)" onclick="cfnGoToPage(_PAGE_BEST_MAIN);">
  142. <h2 th:text="${contentsTitle}"></h2>
  143. </a>
  144. <!-- </th:block>-->
  145. </div>
  146. <div class="inner_head">
  147. <ul class="it_nav">
  148. <th:block th:each="ContentsData, ContentsStat : ${mainData.BestItemList}">
  149. <li><button class="btn btn_link" th:attr="data-tab=${'it'+ContentsStat.count}"><span th:text="${ContentsData.cateNm}">여성</span></button></li>
  150. </th:block>
  151. </ul>
  152. </div>
  153. <div class="inner_body">
  154. <th:block th:each="ContentsData, ContentsStat : ${mainData.BestItemList}">
  155. <div class="swiper-container post-it it_item" th:id="${'it'+ContentsStat.count}">
  156. <div class="swiper-wrapper" >
  157. <th:block th:each="bestItemData, bestItemStat : ${ContentsData.goodsList}">
  158. <div class="swiper-slide">
  159. <div class="item_prod">
  160. <div class="item_state">
  161. <button type="button" class="itemLike" th:classappend="${bestItemData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${bestItemData.goodsCd}, ithrCd='', contentsLoc='SMM004', planDtlSq=''">관심상품 추가</button>
  162. <a href="javascript:void(0)" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${bestItemData.goodsCd}]], '', '', 'SMM004');">
  163. <div class="shape" th:classappend="${bestItemStat.count==1}?'ranker'">
  164. <span><em class="number" th:text="${bestItemStat.count}">1</em></span>
  165. </div>
  166. <div class="itemPic">
  167. <th:block th:each="option,idx:${bestItemData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  168. <iframe th:if="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${'https://www.youtube.com/embed/'+videoArr[1]+'?autoplay=1&mute=1'}"></iframe>
  169. <iframe th:unless="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${kollusMediaUrl+'/'+videoArr[1]+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" allow="fullscreen" allowFullScreen></iframe>
  170. </th:block>
  171. <img alt="" class=" pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + bestItemData.sysImgNm}" onerror="noneImg(this)">
  172. </div>
  173. <p class="itemBrand" th:text="${bestItemData.brandGroupNm}">TBJ</p>
  174. <div class="itemComment" th:text="${bestItemData.goodsTnm}"># 가을 느낌 물씬!</div>
  175. <div class="itemName" th:text="${bestItemData.goodsFullNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  176. <p class="itemPrice">
  177. <span class="itemPrice_original" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${#numbers.formatInteger(bestItemData.listPrice,3,'COMMA')}">89,000</span>[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')}]]
  178. <span class=" itemPercent" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${(bestItemData.listPrice == 0 ? 0 : #numbers.formatDecimal((bestItemData.listPrice - bestItemData.currPrice) / (bestItemData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
  179. </p>
  180. </a>
  181. </div>
  182. </div>
  183. </div>
  184. </th:block>
  185. </div>
  186. </div>
  187. </th:block>
  188. </div>
  189. </div>
  190. </div>
  191. </th:block>
  192. <th:block th:if="${contentsLoc=='005'}">
  193. <!-- 5. 프로모션배너 -->
  194. <div class="inner wide">
  195. <div class="main_2stage">
  196. <div class="swiper-container post-bnnEvent">
  197. <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
  198. <th:block th:if="${ContentsData.contentsType!=null && ContentsData.contentsType!=''}">
  199. <div class="swiper-wrapper" th:if="${ContentsData.contentsType=='1'}">
  200. <div class="swiper-slide">
  201. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
  202. <div class="bnnbox" style="background:#e3e7ea;">
  203. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
  204. </div>
  205. </a>
  206. </div>
  207. </div>
  208. <div class="swiper-wrapper" th:if="${ContentsData.contentsType=='2'}">
  209. <div class="swiper-slide">
  210. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
  211. <div class="bnnbox" style="background:#e3e7ea;">
  212. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
  213. </div>
  214. </a>
  215. </div>
  216. <div class="swiper-slide">
  217. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar2}]]);">
  218. <div class="bnnbox" style="background:#eef1f3;">
  219. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath2}" alt="">
  220. </div>
  221. </a>
  222. </div>
  223. </div>
  224. </th:block>
  225. </th:block>
  226. <!-- Add Pagination -->
  227. <div class="swiper-pagination"></div>
  228. </div>
  229. </div>
  230. </div>
  231. </th:block>
  232. <th:block th:if="${contentsLoc=='006'}">
  233. <!-- 6. 타임딜 : 슬라이드 -->
  234. <th:block th:each="socialData, socialStat : ${mainData.socialInfo}">
  235. <div class="inner bg_dark" th:if="${socialData.socialGoodsList != null and !socialData.socialGoodsList.empty}">
  236. <div class="main_deal">
  237. <div class="titWrap">
  238. <a href="javascript:void(0)" onclick="cfnGoToPage(_PAGE_SOCIAL_MAIN);">
  239. <h2 th:text="${contentsTitle}"></h2>
  240. </a>
  241. <th:block th:each="socialData, socialStat : ${mainData.socialInfo}">
  242. <form name="socailForm" id="socailForm">
  243. <input type="hidden" name="targetTime" th:value="${socialData.socialEddt}">
  244. </form>
  245. </th:block>
  246. <div class="count">
  247. <span class="count_tit">남은 시간</span>
  248. <div class="hotdealcount" id="countdown">
  249. <div id="tiles"></div>
  250. </div>
  251. </div>
  252. </div>
  253. <div class="swiper-container post-deal">
  254. <div class="swiper-wrapper" >
  255. <!-- <th:block th:each="socialData, socialStat : ${mainData.socialInfo}">-->
  256. <th:block th:each="goodsData, goodsStat : ${socialData.socialGoodsList}">
  257. <div class="swiper-slide" th:if="${goodsStat.count<21}">
  258. <div class="item_prod" style="width:100%">
  259. <div class="item_state">
  260. <button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM006', planDtlSq=''">관심상품 추가</button>
  261. <a href="javascript:void(0)" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM006');">
  262. <div class="itemPic">
  263. <img alt="" class=" pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  264. </div>
  265. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">TBJ</p>
  266. <div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
  267. <div class="itemName" th:text="${goodsData.goodsNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  268. <p class="itemPrice">
  269. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')}">89,000</span>[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
  270. <span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'">10%</span>
  271. </p>
  272. </a>
  273. </div>
  274. </div>
  275. </div>
  276. </th:block>
  277. <!-- </th:block>-->
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. </th:block>
  283. </th:block>
  284. <th:block th:if="${contentsLoc=='007'}">
  285. <!-- 7. 브랜드픽 -->
  286. <div class="inner" th:if="${mainData.ContentsList != null}">
  287. <div class="main_pick" >
  288. <div class="titWrap">
  289. <h2 th:text="${contentsTitle}"></h2>
  290. </div>
  291. <div class="inner_head">
  292. <div class="swiper-container pick-head"> <!--(pick-head)슬라이드 키클래스-->
  293. <ul class="swiper-wrapper">
  294. <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
  295. <li class="swiper-slide" th:classappend="${ContentsStat.count==1}?'on'"> <!-- li.on / li .btn.active : 메뉴 표시 -->
  296. <button class="btn btn_link" th:id="${'pickBtn'+ContentsStat.count}" th:attr="data-tab=${'pick'+ContentsStat.count}"><span th:text="${ContentsData.brandGroupNm}">BUKAROO</span></button>
  297. </li>
  298. </th:block>
  299. </ul>
  300. </div>
  301. </div>
  302. <div class="inner_body">
  303. <th:block th:each="brandPickData, brandPickStat : ${mainData.brandPickList}">
  304. <div class="pick-cont" th:classappend="${brandPickStat.count==1}?'active'" th:id="${'pick'+brandPickStat.count}"> <!-- .pick-cont.active : 컨텐츠 표시 -->
  305. <!-- 210329 : 브랜드 pick 슬라이드 추가 -->
  306. <div class="swiper-container">
  307. <div class="swiper-wrapper" id="id007">
  308. <th:block th:each="bannerData, bannerStat : ${brandPickData.BannerList}">
  309. <div class="swiper-slide" th:if="${bannerData.imgPath1 != ''}">
  310. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${bannerData.strVar1}]]);"><!-- 해당 배너 상세 이동 -->
  311. <div class="txtWrap">
  312. <p class="title">
  313. <input type="hidden" name="title" th:value="${bannerData.strTitle1}">
  314. </p>
  315. <span th:text="${bannerData.subText1}">2020 FALL/WINTER 신상살펴보기</span>
  316. </div>
  317. <img th:src="${@environment.getProperty('domain.image')+bannerData.imgPath1}" alt="">
  318. </a>
  319. </div>
  320. </th:block>
  321. </div>
  322. </div>
  323. <!-- //210329 : 브랜드 pick 슬라이드 추가 -->
  324. <!-- 210329 : 브랜드 pick 상품 swiper 제거 -->
  325. <div class="pick-post"><!-- (pick-post)슬라이드 키클래스(해당 배너 관련 상품) -->
  326. <th:block th:each="goodsData, goodsStat : ${brandPickData.goodsList}">
  327. <div class="item_prod" th:if="${goodsStat.count<4}">
  328. <div class="item_state">
  329. <a href="javascript:void(0)" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM007');">
  330. <div class="itemPic">
  331. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  332. <iframe th:if="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${'https://www.youtube.com/embed/'+videoArr[1]+'?autoplay=1&mute=1'}"></iframe>
  333. <iframe th:unless="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${kollusMediaUrl+'/'+videoArr[1]+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" allow="fullscreen" allowFullScreen></iframe>
  334. </th:block>
  335. <img alt="" class=" pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  336. </div>
  337. <div class="itemName" th:text="${goodsData.goodsFullNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  338. <p class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">35,900</p>
  339. </a>
  340. </div>
  341. </div>
  342. </th:block>
  343. </div> <!--pick-post 종료 -->
  344. <!-- 210524 : pick-post 형제로 버튼그룹 이동 -->
  345. <div class="btn_group_flex">
  346. <div>
  347. <button class="btn btn_default" th:onclick="fnNextBrand([[${brandPickStat.size}]],[[${brandPickStat.count}]])">다음 브랜드 보기<span></span></button>
  348. </div>
  349. </div>
  350. <!-- //210329 : 브랜드 pick 상품 swiper 제거 -->
  351. <!-- 210329 : 브랜드 pick 상품 swiper 제거 -->
  352. </div>
  353. </th:block>
  354. </div>
  355. </div>
  356. </div>
  357. </th:block>
  358. <th:block th:if="${contentsLoc=='008'}">
  359. <!-- 8. 가로 긴 배너 슬라이드 -->
  360. <div class="inner wide">
  361. <div class="main_1stage">
  362. <div class="swiper-container post-bnnWide">
  363. <div class="swiper-wrapper">
  364. <th:block th:each="ContentsData, ContentsStat : ${mainData.ContentsList}">
  365. <div class="swiper-slide silderBannerArea">
  366. <th:block th:if="${ContentsData.imgPath1!=null && ContentsData.imgPath1!=''}">
  367. <a href="javascript:void(0)" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);">
  368. <div class="bnnbox" style="background:#bdc3c7;">
  369. <div class="txtWrap bannerNote">
  370. <p class="noteArea">
  371. <input type="hidden" name="bannerNote" th:value="${ContentsData.strTitle1}"/>
  372. </p>
  373. <!-- <p>아우터 + 이너 단독세일</p>-->
  374. </div>
  375. <img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}">
  376. </div>
  377. </a>
  378. </th:block>
  379. </div>
  380. </th:block>
  381. </div>
  382. <!-- Add Pagination -->
  383. <div class="swiper-pagination"></div>
  384. </div>
  385. </div>
  386. </div>
  387. </th:block>
  388. <th:block th:if="${contentsLoc=='009'}">
  389. <!-- 9. MD추천 스타일 -->
  390. <div class="inner">
  391. <div class="main_recomm">
  392. <div class="titWrap">
  393. <h2 th:text="${contentsTitle}">MD가 추천하는 스타일</h2>
  394. </div>
  395. <div class="inner_head">
  396. <div class="swiper-container recomm-head"> <!--(recomm-head)슬라이드 키클래스-->
  397. <ul class="swiper-wrapper">
  398. <th:block th:each="titleData, titleStat : ${mainData.mdPickList}" >
  399. <th:block th:if="${titleData.goodsList!=null and !titleData.goodsList.empty}" >
  400. <li class="swiper-slide"> <!-- li .btn.active : 메뉴 표시 --><!--data-filter 사용 안하시면 제거하셔도 좋습니다-->
  401. <button class="btn btn_link" th:classappend="${titleStat.count==1}?'active'" th:attr="data-tab=${'recomm'+titleStat.count}" data-filter="tag_warm"><span th:text="${titleData.mdTitle}">따뜻한 무드</span></button>
  402. </li>
  403. </th:block>
  404. </th:block>
  405. </ul>
  406. </div>
  407. </div>
  408. <th:block th:each="titleData, titleStat : ${mainData.mdPickList}">
  409. <div class="inner_body">
  410. <div class="swiper-container recomm-post recomm_item" th:classappend="${titleStat.count==1}?'active'" th:id="${'recomm'+titleStat.count}">
  411. <div class="swiper-wrapper" >
  412. <th:block th:if="${titleData.goodsList!=null and !titleData.goodsList.empty}">
  413. <th:block th:each="goodsData, goodsStat : ${titleData.goodsList}">
  414. <div class="swiper-slide">
  415. <div class="item_prod">
  416. <div class="item_state">
  417. <button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, ithrCd='', contentsLoc='SMM009', planDtlSq=''">관심상품 추가</button>
  418. <a href="javascript:void(0)" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM009');">
  419. <div class="itemPic">
  420. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  421. <iframe th:if="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${'https://www.youtube.com/embed/'+videoArr[1]+'?autoplay=1&mute=1'}"></iframe>
  422. <iframe th:unless="${videoArr[0]=='Y'}" id="pdThumbVideo" class="pd_mov" th:src="${kollusMediaUrl+'/'+videoArr[1]+'?enable_initialize_focus=false&autoplay&mute&controls_activation=none'}" allow="fullscreen" allowFullScreen></iframe>
  423. </th:block>
  424. <img alt="" class=" pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  425. </div>
  426. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">TBJ</p>
  427. <div class="itemComment" th:text="${goodsData.goodsTnm}"># 가을 느낌 물씬!</div>
  428. <div class="itemName" th:text="${goodsData.goodsFullNm}">11111 남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  429. <p class="itemPrice">
  430. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
  431. <span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${(goodsData.listPrice == 0 ? 0 : #numbers.formatDecimal((goodsData.listPrice - goodsData.currPrice) / (goodsData.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>
  432. </p>
  433. </a>
  434. </div>
  435. </div>
  436. </div>
  437. </th:block>
  438. </th:block>
  439. </div>
  440. <!-- <span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span> -->
  441. </div>
  442. </div>
  443. </th:block>
  444. </div>
  445. </div>
  446. </th:block>
  447. <th:block th:if="${contentsLoc=='010'}">
  448. <!-- 10. 당신을위한제안 -->
  449. <div class="inner wide">
  450. <div class="main_foryou">
  451. <div class="titWrap">
  452. <h2>당신을 위한 제안</h2>
  453. </div>
  454. <div class="swiper-container post-sug">
  455. <div class="swiper-wrapper">
  456. <div class="swiper-slide">
  457. <!-- 폴딩1,2,3,4,5시작 -->
  458. <ol class="list_cate">
  459. <li class="on">
  460. <dl>
  461. <dt>
  462. <button>
  463. <span class="fold_rank">1</span>
  464. <span class="fold_txt">모이몰른</span>
  465. </button>
  466. </dt>
  467. <dd>
  468. <div class="swiper-container post-sug-items"><!-- (post-sug-items)슬라이드 키클래스(해당 배너 관련 상품) -->
  469. <div class="swiper-wrapper">
  470. <div class="swiper-slide">
  471. <div class="item_prod">
  472. <div class="item_state">
  473. <a href="javascript:void(0)" class="itemLink">
  474. <div class="itemPic">
  475. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  476. </div>
  477. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  478. <p class="itemPrice">45,900</p>
  479. </a>
  480. </div>
  481. </div>
  482. </div>
  483. <div class="swiper-slide">
  484. <div class="item_prod">
  485. <div class="item_state">
  486. <a href="javascript:void(0)" class="itemLink">
  487. <div class="itemPic">
  488. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  489. </div>
  490. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  491. <p class="itemPrice">39,900</p>
  492. </a>
  493. </div>
  494. </div>
  495. </div>
  496. <div class="swiper-slide">
  497. <div class="item_prod">
  498. <div class="item_state">
  499. <a href="javascript:void(0)" class="itemLink">
  500. <div class="itemPic">
  501. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  502. </div>
  503. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  504. <p class="itemPrice">39,900</p>
  505. </a>
  506. </div>
  507. </div>
  508. </div>
  509. <div class="swiper-slide">
  510. <div class="item_prod">
  511. <div class="item_state">
  512. <a href="javascript:void(0)" class="itemLink">
  513. <div class="itemPic">
  514. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  515. </div>
  516. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  517. <p class="itemPrice">45,900</p>
  518. </a>
  519. </div>
  520. </div>
  521. </div>
  522. <div class="swiper-slide">
  523. <div class="item_prod">
  524. <div class="item_state">
  525. <a href="javascript:void(0)" class="itemLink">
  526. <div class="itemPic">
  527. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  528. </div>
  529. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  530. <p class="itemPrice">45,900</p>
  531. </a>
  532. </div>
  533. </div>
  534. </div>
  535. <div class="swiper-slide">
  536. <div class="item_prod">
  537. <div class="item_state">
  538. <a href="javascript:void(0)" class="itemLink">
  539. <div class="itemPic">
  540. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  541. </div>
  542. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  543. <p class="itemPrice">45,900</p>
  544. </a>
  545. </div>
  546. </div>
  547. </div>
  548. <div class="swiper-slide">
  549. <div class="item_prod">
  550. <div class="item_state">
  551. <a href="javascript:void(0)" class="itemLink">
  552. <div class="itemPic">
  553. <img alt="" class=" pd_img" src="/images/mo/thumb/main_pickImg02.jpg">
  554. </div>
  555. <div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  556. <p class="itemPrice">45,900</p>
  557. </a>
  558. </div>
  559. </div>
  560. </div>
  561. <div class="swiper-slide">
  562. <div class="item_prod">
  563. <div class="item_state">
  564. <a href="javascript:void(0)" class="itemLink">
  565. <div class="itemPic">
  566. <span class="more_txt">더보기</span>
  567. </div>
  568. </a>
  569. </div>
  570. </div>
  571. </div>
  572. </div>
  573. </div>
  574. </dd>
  575. </dl>
  576. </li>
  577. <li>
  578. <dl>
  579. <dt>
  580. <button>
  581. <span class="fold_rank">2</span>
  582. <span class="fold_txt">기모</span>
  583. </button>
  584. </dt>
  585. <dd>
  586. 기모_슬라이드
  587. </dd>
  588. </dl>
  589. </li>
  590. <li>
  591. <dl>
  592. <dt>
  593. <button>
  594. <span class="fold_rank">3</span>
  595. <span class="fold_txt">겨울 팬츠</span>
  596. </button>
  597. </dt>
  598. <dd>
  599. 겨울팬츠_슬라이드
  600. </dd>
  601. </dl>
  602. </li>
  603. <li>
  604. <dl>
  605. <dt>
  606. <button>
  607. <span class="fold_rank">4</span>
  608. <span class="fold_txt">TBJ</span>
  609. </button>
  610. </dt>
  611. <dd>
  612. TBJ_슬라이드
  613. </dd>
  614. </dl>
  615. </li>
  616. <li>
  617. <dl>
  618. <dt>
  619. <button>
  620. <span class="fold_rank">5</span>
  621. <span class="fold_txt">캔버스 주니어</span>
  622. </button>
  623. </dt>
  624. <dd>
  625. 캔버스주니어_슬라이드
  626. </dd>
  627. </dl>
  628. </li>
  629. </ol>
  630. <!-- 폴딩종료 -->
  631. </div>
  632. <div class="swiper-slide">
  633. <!-- 폴딩6,7,8,9,10시작 -->
  634. <ol class="list_cate">
  635. <li>
  636. <dl>
  637. <dt>
  638. <button>
  639. <span class="fold_rank">6</span>
  640. <span class="fold_txt">키워드_6</span>
  641. </button>
  642. </dt>
  643. <dd>
  644. 키워드_6_슬라이드
  645. </dd>
  646. </dl>
  647. </li>
  648. <li>
  649. <dl>
  650. <dt>
  651. <button>
  652. <span class="fold_rank">7</span>
  653. <span class="fold_txt">키워드_7</span>
  654. </button>
  655. </dt>
  656. <dd>
  657. 키워드_7_슬라이드
  658. </dd>
  659. </dl>
  660. </li>
  661. <li>
  662. <dl>
  663. <dt>
  664. <button>
  665. <span class="fold_rank">8</span>
  666. <span class="fold_txt">키워드_8</span>
  667. </button>
  668. </dt>
  669. <dd>
  670. 키워드_8_슬라이드
  671. </dd>
  672. </dl>
  673. </li>
  674. <li>
  675. <dl>
  676. <dt>
  677. <button>
  678. <span class="fold_rank">9</span>
  679. <span class="fold_txt">키워드_9</span>
  680. </button>
  681. </dt>
  682. <dd>
  683. 키워드_9_슬라이드
  684. </dd>
  685. </dl>
  686. </li>
  687. <li>
  688. <dl>
  689. <dt>
  690. <button>
  691. <span class="fold_rank">10</span>
  692. <span class="fold_txt">키워드_10</span>
  693. </button>
  694. </dt>
  695. <dd>
  696. 키워드_10_슬라이드
  697. </dd>
  698. </dl>
  699. </li>
  700. </ol>
  701. <!-- 폴딩종료 -->
  702. </div>
  703. </div>
  704. <!-- Add Pagination -->
  705. <div class="swiper-pagination"></div>
  706. </div>
  707. </div>
  708. </div>
  709. </th:block>
  710. <th:block th:if="${contentsLoc=='011'}">
  711. <!-- 11. TV 슬라이드 -->
  712. <div class="inner wide bg_dark" th:if="${mainData.ContentsList != null}">
  713. <div class="titWrap">
  714. <h2 data-style="unusual" th:text="${mainData.contentsTitle}">STYLE24 TV</h2>
  715. </div>
  716. <div class="main_tv" >
  717. <div class="swiper-container post-tv">
  718. <div class="swiper-wrapper ">
  719. <div class="swiper-slide" th:each="item, stat : ${mainData.ContentsList}">
  720. <div class="movbox">
  721. <iframe th:if="${item.strVar1=='Y'}" width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+item.strVar2+'?rel=0'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  722. <iframe th:if="${item.strVar1=='M'}" class="pd_mov" th:src="${kollusMediaUrl+'/'+item.strVar2+'?enable_initialize_focus=false'}" allowfullscreen></iframe>
  723. <!-- <iframe width="100%" height="100%" src="https://www.youtube.com/embed/hGjFwebN5ks" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>-->
  724. </div>
  725. </div>
  726. </div>
  727. <div class="swiper-pagination"></div>
  728. </div>
  729. </div>
  730. </div>
  731. <!-- </th:block>-->
  732. </th:block>
  733. </th:block>
  734. </section>
  735. </main>
  736. <script th:inline="javascript">
  737. /*<![CDATA[*/
  738. var mainLayoutList = [[${mainLayoutList}]];
  739. // console.log(mainLayoutList);
  740. var targetTime = '';
  741. if(!gagajf.isNull($("#socailForm").find("input[name=targetTime]").val())){
  742. targetTime = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
  743. }
  744. if(targetTime != null && targetTime != ''){
  745. /* 핫딜 countDown */
  746. var endTime = new Date(targetTime); // 남은시간 지정
  747. endTime = (Date.parse(endTime) / 1000);
  748. var countdown = document.getElementById("tiles"); // get tag element
  749. getCountdown();
  750. setInterval(function () { getCountdown(); }, 1000);
  751. function getCountdown(){
  752. // find the amount of "seconds" between now and target
  753. var now = new Date();
  754. now = (Date.parse(now) / 1000);
  755. var timeLeft = endTime - now;
  756. var days = Math.floor(timeLeft / 86400);
  757. var hours = Math.floor((timeLeft - (days * 86400)) / 3600);
  758. var minutes = Math.floor((timeLeft - (days * 86400) - (hours * 3600 )) / 60);
  759. var seconds = Math.floor((timeLeft - (days * 86400) - (hours * 3600) - (minutes * 60)));
  760. if (hours < '10') { hours = '0' + hours; }
  761. if (minutes < '10') { minutes = '0' + minutes; }
  762. if (seconds < '10') { seconds = '0' + seconds; }
  763. // format countdown string + set tag value
  764. countdown.innerHTML = "<span>" + hours + "</span><span>" + minutes + "</span><span>" + seconds + "</span>";
  765. }
  766. function pad(n) {
  767. return (n < 10 ? '0' : '') + n;
  768. }
  769. }
  770. // 컨텐츠 호출
  771. $(document).ready(function() {
  772. // 몰메인 띠배너 표출
  773. $("#divTopbanner").show();
  774. setHtop();
  775. let randomNum = Math.floor( ( Math.random() * 4 ) );
  776. $(".it_nav .btn").eq(randomNum).trigger('click');
  777. // 몰메인 <br> 태그
  778. $('.mainTitle').each(function (){
  779. var brText = $(this).find("input[name=mainTitlee]").val();
  780. let tag = brText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  781. $(this).append(tag);
  782. });
  783. // 브랜드픽 <br> 태그
  784. $('#id007 .title').each(function (){
  785. var brText = $(this).find("input[name=title]").val();
  786. let tag = brText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  787. $(this).append(tag);
  788. });
  789. // 가로긴배너 슬라이드
  790. $('.silderBannerArea').each(function (){
  791. let tag = '';
  792. if(!gagajf.isNull($(this).find("input[name=bannerNote]").val())) {
  793. var noteText = $(this).find("input[name=bannerNote]").val();
  794. tag = noteText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  795. $(this).find('.noteArea').append(tag);
  796. }
  797. });
  798. // 스타일리포트 <br> 태그
  799. $('.styleArea').each(function (){
  800. let tag = '';
  801. let tag2 = '';
  802. if(!gagajf.isNull($(this).find("input[name=styleTitle]").val())) {
  803. var titleText = $(this).find("input[name=styleTitle]").val();
  804. tag = titleText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  805. $(this).find('.styleTitleC').append(tag);
  806. }
  807. if(!gagajf.isNull($(this).find("input[name=styleNote]").val())) {
  808. var noteText = $(this).find("input[name=styleNote]").val();
  809. tag2 = noteText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  810. $(this).find('.styleNoteC').append(tag2);
  811. }
  812. });
  813. });
  814. function setHtop() {
  815. if($('header').hasClass('main')) {
  816. $('#htopMain').show();
  817. $('#htopSub').hide();
  818. } else {
  819. $('#htopMain').hide();
  820. $('#gnb').hide();
  821. $('#htopSub').show();
  822. }
  823. }
  824. var fnNextBrand = function (tot, idx){
  825. if(tot == idx){
  826. $("#pickBtn1").click();
  827. }else{
  828. $("#pickBtn"+(idx+1)).click();
  829. }
  830. }
  831. /*]]>*/
  832. </script>
  833. <script type="text/javascript">
  834. // post-visual
  835. // 비주얼 슬라이드 카운팅
  836. var pickvisualCont = $('.post-visual .swiper-slide');
  837. var pickvisualLength = pickvisualCont.length;
  838. if (pickvisualLength < 2) {
  839. // $(".main_visual .swiper-pagination").css({"display": "none"});
  840. var post_visual = new Swiper('.swiper-container.post-visual', {
  841. autoplay: false,
  842. loop:false,
  843. // pagination: false,
  844. pagination: {
  845. el: '.swiper-pagination',
  846. type: 'fraction',
  847. },
  848. });
  849. } else {
  850. var post_visual = new Swiper('.swiper-container.post-visual', {
  851. slideTo: 2,
  852. autoplay: {
  853. delay: 3000,
  854. },
  855. loop:true,
  856. pagination: {
  857. el: '.swiper-pagination',
  858. type: 'fraction',
  859. },
  860. });
  861. }
  862. // post-trendy
  863. var post_trendy = new Swiper('.swiper-container.post-trendy', {
  864. pagination: {
  865. el: '.swiper-pagination',
  866. },
  867. });
  868. // post-it
  869. var post_it = new Swiper('.swiper-container.post-it', {
  870. slidesPerView: 2,
  871. spaceBetween: 8,
  872. observer: true,
  873. observeParents: true,
  874. speed : 1000,
  875. freeMode: true,
  876. autoplay: false,
  877. });
  878. $(".it_nav .btn").click(function(){
  879. var itActive = $(this).attr('data-tab');
  880. $(".it_nav .btn").removeClass('active');
  881. $(".it_item").removeClass('active');
  882. $(this).addClass('active');
  883. $('#'+itActive).addClass('active');
  884. });
  885. // post-stylereport
  886. var post_stylereport = new Swiper('.swiper-container.post-stylereport', {
  887. slidesPerView: 1,
  888. pagination: {
  889. el: '.swiper-pagination',
  890. },
  891. spaceBetween: 8,
  892. });
  893. //post-deal
  894. var post_deal = new Swiper('.swiper-container.post-deal', {
  895. slidesPerView: 2.22,
  896. spaceBetween: 8,
  897. observer: true,
  898. observeParents: true,
  899. speed : 1000,
  900. freeMode: true,
  901. autoplay: false,
  902. });
  903. //post-pick
  904. //post-pick-head
  905. var Head_pick = new Swiper(".pick-head", {
  906. slidesPerView: "auto",
  907. spaceBetween: 20,
  908. autoHeight: true,
  909. preventClicks: true,
  910. preventClicksPropagation: false,
  911. observer: true,
  912. observeParents: true
  913. });
  914. var $pickHd = $('.pick-head .swiper-wrapper .swiper-slide .btn');
  915. $pickHd.click(function(){
  916. var target = $(this).parent();
  917. $pickHd.parent().removeClass('on')
  918. target.addClass('on');
  919. muCenter(target);
  920. })
  921. function muCenter(target){
  922. var snbwrap = $('.pick-head .swiper-wrapper');
  923. var targetPos = target.position();
  924. var box = $('.pick-head');
  925. var boxHarf = box.width()/2;
  926. var pos;
  927. var listWidth=0;
  928. snbwrap.find('.swiper-slide').each(function(){ listWidth += $(this).outerWidth(); })
  929. var selectTargetPos = targetPos.left + target.outerWidth()/2;
  930. if (selectTargetPos <= boxHarf) { // left
  931. pos = 0;
  932. }else if ((listWidth - selectTargetPos) <= boxHarf) { //right
  933. pos = listWidth-box.width();
  934. }else {
  935. pos = selectTargetPos - boxHarf;
  936. }
  937. setTimeout(function(){snbwrap.css({
  938. "transform": "translate3d("+ (pos*-2) +"px, 0, 0)",
  939. "transition-duration": "500ms"
  940. })}, 200);
  941. }
  942. $(".pick-head li .btn").click(function(){
  943. var itActive = $(this).attr('data-tab');
  944. $(".pick-head li .btn").removeClass('active');
  945. $(".pick-cont").removeClass('active');
  946. $(this).addClass('active');
  947. $('#'+itActive).addClass('active');
  948. });
  949. //post-pick-post
  950. var post_pick = new Swiper(".pick-cont .swiper-container", {
  951. //slidesPerView: 1,
  952. watchOverflow:true, //210520_ 추가 : 슬라이드 1개일 경우 롤링 제거.
  953. //210520_ 추가 : 자동재생 시간 추가.
  954. autoplay: {
  955. delay: 4000,
  956. disableOnInteraction: false,
  957. },
  958. observer: true,
  959. observeParents: true
  960. });
  961. // post-recomm
  962. // recomm-head
  963. var Head_recomm = new Swiper(".swiper-container.recomm-head", {
  964. slidesPerView: "auto",
  965. spaceBetween: 10,
  966. autoHeight: true,
  967. loop:false,
  968. });
  969. $(".recomm-head li .btn").click(function(){
  970. var recommActive = $(this).attr('data-tab');
  971. $(".recomm-head li .btn").removeClass('active');
  972. $(".recomm-post").removeClass('active');
  973. $(this).addClass('active');
  974. $('#'+recommActive).addClass('active');
  975. });
  976. // recomm-post
  977. var post_recomm = new Swiper(".recomm-post", {
  978. slidesPerView: 2.22,
  979. spaceBetween: 8,
  980. observer: true,
  981. observeParents: true,
  982. speed : 1000,
  983. freeMode: true,
  984. autoplay: false,
  985. });
  986. // post-bnnWide
  987. // 와이드배너 슬라이드 카운팅
  988. var pickbnnWdCont = $('.post-bnnWide .swiper-slide');
  989. var pickbnnWdLength = pickbnnWdCont.length;
  990. if (pickbnnWdLength < 2) {
  991. var post_bnnWide = new Swiper ('.swiper-container.post-bnnWide', {
  992. loop: false,
  993. autoplay: false,
  994. pagination: false,
  995. });
  996. } else {
  997. var post_bnnWide = new Swiper ('.swiper-container.post-bnnWide', {
  998. loop: true,
  999. slidesPerView: 1,
  1000. speed : 1500,
  1001. autoplay: {
  1002. delay: 4000,
  1003. disableOnInteraction: false,
  1004. },
  1005. pagination: {
  1006. el: '.swiper-pagination',
  1007. },
  1008. });
  1009. }
  1010. // post-bnnEvent
  1011. // 이벤트배너 슬라이드 카운팅
  1012. var pickbnnEvCont = $('.post-bnnEvent .swiper-slide');
  1013. var pickbnnEvLength = pickbnnEvCont.length;
  1014. if (pickbnnEvLength < 2) {
  1015. var post_bnnEvent = new Swiper ('.swiper-container.post-bnnEvent', {
  1016. loop: false,
  1017. autoplay: false,
  1018. pagination:false,
  1019. });
  1020. } else {
  1021. var post_bnnEvent = new Swiper ('.swiper-container.post-bnnEvent', {
  1022. loop: true,
  1023. slidesPerView: 1,
  1024. speed : 1500,
  1025. autoplay: {
  1026. delay: 4000,
  1027. disableOnInteraction: false,
  1028. },
  1029. pagination: {
  1030. el: '.swiper-pagination',
  1031. },
  1032. });
  1033. }
  1034. // post_sug
  1035. var numCnt = 0;
  1036. var post_sug = new Swiper('.swiper-container.post-sug', {
  1037. pagination: {
  1038. el: '.swiper-pagination',
  1039. },
  1040. //autoHeight: true,
  1041. autoplay: {
  1042. delay: 24700,
  1043. disableOnInteraction: false,
  1044. },
  1045. on : {
  1046. slideChange: function(){
  1047. foryouIndex = 0;
  1048. if(numCnt === 0){
  1049. $(".swiper-slide.type1 .list_cate > li").removeClass('on');
  1050. $(".swiper-slide.type2 .list_cate > li").removeClass('on');
  1051. $(".swiper-slide.type2 .list_cate .first").addClass('on');
  1052. numCnt = 1;
  1053. } else {
  1054. $(".swiper-slide.type1 .list_cate > li").removeClass('on');
  1055. $(".swiper-slide.type2 .list_cate > li").removeClass('on');
  1056. $(".swiper-slide.type1 .list_cate .first").addClass('on');
  1057. numCnt = 0;
  1058. }
  1059. }
  1060. },
  1061. });
  1062. var foryouIndex = 0;
  1063. //var foryouIndex1 = -1;
  1064. //var foryouIndex2 = -1;
  1065. var cntNum = 0;
  1066. function foryouInterval(_foryouIndex) {
  1067. //console.log($(".main_foryou .post-sug .swiper-slide.swiper-slide-active .list_cate li")[0]);
  1068. var foryouCateItems1 = $(".main_foryou .post-sug .swiper-slide.type1.swiper-slide-active .list_cate li");
  1069. var foryouCateItems2 = $(".main_foryou .post-sug .swiper-slide.type2.swiper-slide-active .list_cate li");
  1070. $(".main_foryou .post-sug .swiper-slide.type1 .list_cate li").removeClass("on");
  1071. $(".main_foryou .post-sug .swiper-slide.type2 .list_cate li").removeClass("on");
  1072. if($(".main_foryou .post-sug .swiper-slide.type1").hasClass("swiper-slide-active")){
  1073. $(foryouCateItems1[(_foryouIndex + 1) % 5]).addClass("on");
  1074. if (_foryouIndex >= 5) foryouIndex = 0;
  1075. foryouIndex++;
  1076. //$(foryouCateItems1[_foryouIndex % 5]).removeClass("on");
  1077. //setTimeout(function () {
  1078. // foryouInterval(foryouIndex1);
  1079. // if (foryouIndex1 >= 5) foryouIndex1 = 0;
  1080. // foryouIndex1++;
  1081. //}, 0);
  1082. $(foryouCateItems1).click(function () {
  1083. //console.log($(this).index());
  1084. foryouIndex = $(this).index();
  1085. //setInterval(function () {
  1086. // foryouInterval(foryouIndex1);
  1087. // if (foryouIndex1 >= 5) foryouIndex1 = 0;
  1088. // foryouIndex1++;
  1089. //}, 2000);
  1090. clearInterval(stopInter);
  1091. stopInter = startTimeInterval();
  1092. //setTimeout(function () {
  1093. // foryouInterval(foryouIndex);
  1094. //}, 0);
  1095. });
  1096. }
  1097. if($(".main_foryou .post-sug .swiper-slide.type2").hasClass("swiper-slide-active")){
  1098. $(foryouCateItems2[(_foryouIndex + 1) % 5]).addClass("on");
  1099. if (_foryouIndex >= 5) foryouIndex = 0;
  1100. foryouIndex++;
  1101. //$(foryouCateItems2[_foryouIndex % 5]).removeClass("on");
  1102. //setTimeout(function () {
  1103. // foryouInterval(foryouIndex2);
  1104. // if (foryouIndex2 >= 5) foryouIndex2 = 0;
  1105. // foryouIndex2++;
  1106. //}, 0);
  1107. $(foryouCateItems2).click(function () {
  1108. //console.log($(this).index());
  1109. foryouIndex = $(this).index();
  1110. //setInterval(function () {
  1111. // foryouInterval(foryouIndex2);
  1112. // if (foryouIndex2 >= 5) foryouIndex2 = 0;
  1113. // foryouIndex2++;
  1114. //}, 2000);
  1115. clearInterval(stopInter);
  1116. stopInter = startTimeInterval();
  1117. //setTimeout(function () {
  1118. // foryouInterval(foryouIndex);
  1119. //}, 0);
  1120. });
  1121. }
  1122. }
  1123. function startTimeInterval(){
  1124. return setInterval(function () {
  1125. foryouInterval(foryouIndex);
  1126. }, 5000);
  1127. }
  1128. var stopInter = startTimeInterval();
  1129. var post_sug_items = new Swiper ('.swiper-container.post-sug-items', {
  1130. slidesPerView: 3,
  1131. spaceBetween: 10,
  1132. speed : 800,
  1133. //autoplay: {
  1134. // delay: 3000,
  1135. // disableOnInteraction: false,
  1136. //},
  1137. });
  1138. // post-tv
  1139. var post_tv = new Swiper ('.post-tv', {
  1140. loop: true,
  1141. // slidesPerView: 2,
  1142. // spaceBetween: 20,
  1143. centeredSlides: true,
  1144. speed : 800,
  1145. // effect: 'fade',
  1146. autoplay: false,
  1147. //autoplay: {
  1148. // delay: 10000,
  1149. // disableOnInteraction: false,
  1150. //},
  1151. // navigation: {
  1152. // nextEl: '.main_tv .swiper-button-next',
  1153. // prevEl: '.main_tv .swiper-button-prev',
  1154. // },
  1155. pagination: {
  1156. el: '.main_tv .swiper-pagination',
  1157. clickable: true,
  1158. },
  1159. });
  1160. </script>
  1161. </th:block>
  1162. </body>
  1163. </html>