MallMainFormWeb.html 52 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294
  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="web/common/layout/DefaultLayoutWeb">
  6. <!--
  7. *******************************************************************************
  8. * @source : MallMainFormWeb.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.01.28 gagamel 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <div id="container" class="container main">
  22. <!-- <div class="breadcrumb"> (breadcrumb) </div> -->
  23. <div class="wrap ">
  24. <th:block th:if="${mainLayoutList}" th:each="mainLayoutData, mainStat : ${mainLayoutList}" th:with="contentsLoc=${#strings.replace(mainLayoutData.contentsLoc,'SMM','')}">
  25. <!-- <th:block th:if="${mainLayoutData.ContentsList != null and !mainLayoutData.ContentsList.empty}">-->
  26. <th:block th:if="${contentsLoc=='001'}">
  27. <!-- 1. 비주얼 슬라이드 -->
  28. <div class="content wide main_visual" th:if="${mainLayoutData.ContentsList != null and !mainLayoutData.ContentsList.empty}">
  29. <div class="cont_head dpnone">
  30. <p class="t_c">비주얼 슬라이드</p>
  31. </div>
  32. <div class="cont_body">
  33. <div class="swiper-container post-visual">
  34. <div class="swiper-wrapper ">
  35. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
  36. <div class="swiper-slide">
  37. <th:block th:if="${ContentsData.imgPath1!=null && ContentsData.imgPath1!=''}">
  38. <div class="txtWrap">
  39. <th:block th:if="${ContentsData.strVar5!=null && ContentsData.strVar5!=''}">
  40. <p class="vrt_txt" th:if="${ContentsData.strVar5=='P' and ContentsData.planBrandCnt<2}" th:text="${ContentsData.planBrandGroupNm}"></p>
  41. <p class="vrt_txt" th:if="${ContentsData.strVar5=='P' and ContentsData.planBrandCnt>1}" th:text="${ContentsData.planBrandGroupNm+' 외'}"></p>
  42. <p class="vrt_txt" th:if="${ContentsData.strVar5=='P' and ContentsData.planGb=='E'}" >EVENT</p>
  43. </th:block>
  44. <dl th:class="${ContentsData.strVar7=='BLACK'?'':'w'}">
  45. <dt th:if="${ContentsData.strVar5=='P' and ContentsData.planBrandCnt<2}" th:text="${ContentsData.planBrandGroupNm}"></dt>
  46. <dt th:if="${ContentsData.strVar5=='P' and ContentsData.planBrandCnt>1}" th:text="${ContentsData.planBrandGroupNm+' 외'}"></dt>
  47. <dt th:if="${ContentsData.strVar5=='P' and ContentsData.planGb=='E' }" >EVENT</dt>
  48. <dd class="mainTitle">
  49. <input type="hidden" name="mainTitlee" th:value="${ContentsData.strTitle1}"/>
  50. </dd>
  51. <!-- <dd>NEW ARRIVAL</dd>-->
  52. <dd class="txt_xs mainSubTitle" th:text="${ContentsData.subText1}">
  53. <!-- <input type="hidden" name="mainSubTitlee" th:value="${ContentsData.subText1}"/>-->
  54. </dd>
  55. </dl>
  56. <button type="button" class="btn" th:onclick="cfnGoToPage([[${ContentsData.strVar1}]]);"><span>자세히 보기</span></button>
  57. </div>
  58. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}">
  59. </th:block>
  60. </div>
  61. </th:block>
  62. </div>
  63. <div class="swiper-button-prev sbtn01_lb"></div>
  64. <div class="swiper-button-next sbtn01_rb"></div>
  65. </div>
  66. <div class="swiper-controls">
  67. <div class="swiper-pagination"></div>
  68. <div class="slide-curb">
  69. <div class="slide-curb-play sbtn01_play">슬라이드 재생</div>
  70. <div class="slide-curb-pause sbtn01_stop">슬라이드 정지</div>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </th:block>
  76. <!-- 2. 스타일리포트 -->
  77. <th:block th:if="${contentsLoc=='002'}">
  78. <div class="content main_stylereport" th:if="${mainLayoutData.ContentsList != null and !mainLayoutData.ContentsList.empty}">
  79. <th:block th:if="${mainLayoutData.contentsTitle != null and !mainLayoutData.contentsTitle.empty}">
  80. <div class="cont_head">
  81. <p class="displayH t_c" th:text="${mainLayoutData.contentsTitle}"></p>
  82. </div>
  83. </th:block>
  84. <div class="cont_body">
  85. <div class="ui_row">
  86. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
  87. <div class="ui_col_3 styleArea" th:if="${ContentsStat.count<5}">
  88. <a th:href="${ContentsData.strVar1}">
  89. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}">
  90. <dl>
  91. <dt class="styleTitleC"> <!--th:text="${ContentsData.strTitle1}"-->
  92. <input type="hidden" name="styleTitle" th:value="${ContentsData.strTitle1}"/>
  93. </dt>
  94. <dd class="styleNoteC"> <!--th:text="${ContentsData.subText1}"-->
  95. <input type="hidden" name="styleNote" th:value="${ContentsData.subText1}"/>
  96. </dd>
  97. <!--<dd>당신을 위해 준비한 아우터 픽을 만나보자</dd>-->
  98. </dl>
  99. </a>
  100. </div>
  101. </th:block>
  102. </div>
  103. </div>
  104. </div>
  105. </th:block>
  106. <!-- 3. 트렌디한 신상아이템 -->
  107. <th:block th:if="${contentsLoc=='003'}">
  108. <div class="content main_trendy" th:if="${mainLayoutData.goodsList != null}">
  109. <div class="cont_head">
  110. <p class="displayH t_c" th:text="${mainLayoutData.contentsTitle}"></p>
  111. </div>
  112. <div class="cont_body">
  113. <div class="swiper-container post-trendy">
  114. <div class="swiper-wrapper">
  115. <th:block th:each="goodsData, goodsStat : ${mainLayoutData.goodsList}">
  116. <div class="swiper-slide" th:if="${goodsStat.count<21}">
  117. <div class="item_prod">
  118. <div class="item_state">
  119. <button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, goodsNm=${goodsData.goodsFullNm}, ithrCd='', contentsLoc='SMM003', planDtlSq=''">관심상품 추가</button>
  120. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM003');">
  121. <div class=" itemPic">
  122. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  123. <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>
  124. <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>
  125. </th:block>
  126. <img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  127. </div>
  128. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
  129. <div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#가을느낌 물씬!</div>
  130. <div class="itemName" th:text="${goodsData.goodsFullNm}">스타 착용 여성 퍼 아플리케 오버핏 투마일 웨어링 점퍼</div>
  131. <p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
  132. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,3,'COMMA')}">89,000</span>
  133. <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>
  134. </p>
  135. <p th:if="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]] ~</p>
  136. </a>
  137. </div>
  138. </div>
  139. </div>
  140. </th:block>
  141. </div>
  142. </div>
  143. <div class="swiper-pagination"></div>
  144. <div class="swiper-button-prev"></div>
  145. <div class="swiper-button-next"></div>
  146. </div>
  147. </div>
  148. </th:block>
  149. <!-- 4. 잇 아이템 -->
  150. <th:block th:if="${contentsLoc=='004'}">
  151. <div class="content main_it" th:if="${mainLayoutData.BestItemList != null}">
  152. <div class="cont_head">
  153. <p class="displayH" id="id004">
  154. <input type="hidden" name="title" th:value="${mainLayoutData.contentsTitle}">
  155. </p>
  156. <!-- <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">-->
  157. <a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_BEST_MAIN);"><span>전체보기</span></a>
  158. <!-- </th:block>-->
  159. </div>
  160. <div class="cont_body">
  161. <div class="it_nav">
  162. <ul>
  163. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.BestItemList}">
  164. <li><button class="btn btn_link" th:attr="data-tab=${'it'+ContentsStat.count}"><span th:text="${ContentsData.cateNm}"></span></button></li>
  165. </th:block>
  166. </ul>
  167. </div>
  168. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.BestItemList}">
  169. <div class="swiper-container post-it it_item" th:id="${'it'+ContentsStat.count}">
  170. <div class="swiper-wrapper">
  171. <th:block th:each="bestItemData, bestItemStat : ${ContentsData.goodsList}">
  172. <div class="swiper-slide">
  173. <div class=" item_prod sUiXc "> <!-- item_prod ranker d_detail -->
  174. <div class="item_state"> <!-- item_state AD soldout -->
  175. <button type="button" class="itemLike" th:classappend="${bestItemData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${bestItemData.goodsCd}, goodsNm=${bestItemData.goodsFullNm}, ithrCd='', contentsLoc='SMM004', planDtlSq=''">관심상품 추가</button>
  176. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${bestItemData.goodsCd}]], '', '', 'SMM004');">
  177. <div class="shape" th:classappend="${bestItemStat.count==1}?'ranker'"><span th:text="${bestItemStat.count}"></span></div>
  178. <div class="itemPic">
  179. <th:block th:each="option,idx:${bestItemData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  180. <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>
  181. <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>
  182. </th:block>
  183. <!-- 2021.08.30 검색엔진데이타 https: 붙여서 넘어옴 처리 -->
  184. <th:block th:if="${#strings.indexOf(bestItemData.sysImgNm, 'https:')} == -1">
  185. <img alt="BLACK-a" class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + bestItemData.sysImgNm.replace('//image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
  186. </th:block>
  187. <th:block th:if="${#strings.indexOf(bestItemData.sysImgNm, 'https:')} == 0">
  188. <img alt="BLACK-a" class="vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + bestItemData.sysImgNm.replace('https://image.istyle24.com/Upload/ProductImage/','')}" onerror="noneImg(this)">
  189. </th:block>
  190. <!-- //2021.08.30 검색엔진데이타 https: 붙여서 넘어옴 처리 -->
  191. </div>
  192. <p class=" itemBrand" th:text="${bestItemData.brandGroupNm}">BRAND NAME</p>
  193. <div class="itemComment" th:unless="${bestItemData.goodsTnm == null or bestItemData.goodsTnm == ''}" th:text="${bestItemData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
  194. <div class="itemName" th:text="${bestItemData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  195. <p th:unless="${bestItemData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')}]]
  196. <span class="itemPrice_original" th:if="${bestItemData.currPrice != bestItemData.listPrice}" th:text="${#numbers.formatInteger(bestItemData.listPrice,3,'COMMA')}">89,000</span>
  197. <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>
  198. </p>
  199. <p th:if="${bestItemData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(bestItemData.currPrice,0,'COMMA')}]] ~</p>
  200. </a>
  201. </div>
  202. </div>
  203. </div>
  204. </th:block>
  205. </div>
  206. <div class="swiper-controls">
  207. <div class="swiper-scrollbar"></div>
  208. </div>
  209. </div>
  210. </th:block>
  211. </div>
  212. </div>
  213. </th:block>
  214. <!-- 5. 프로모션배너 -->
  215. <th:block th:if="${contentsLoc=='005'}">
  216. <div class="content main_2stage" th:if="${mainLayoutData.ContentsList != null}">
  217. <div class="cont_head dpnone">
  218. <p class="t_c">프로모션배너</p>
  219. </div>
  220. <div class="cont_body">
  221. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
  222. <th:block th:if="${ContentsData.contentsType!=null && ContentsData.contentsType!=''}">
  223. <div class="bnnbox_crop" th:if="${ContentsData.contentsType=='1'}">
  224. <div class=""> <!--style="width: 100%;height: 230px;float: none;overflow: hidden;"-->
  225. <a th:href="${ContentsData.strVar1}" target="_blank">
  226. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
  227. </a>
  228. </div>
  229. </div>
  230. <div class="bnnbox_crop" th:if="${ContentsData.contentsType=='2'}">
  231. <div class="bnn_half">
  232. <a th:href="${ContentsData.strVar1}" target="_blank">
  233. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}" alt="">
  234. </a>
  235. </div>
  236. <div class="bnn_half">
  237. <a th:href="${ContentsData.strVar2}" target="_blank">
  238. <img th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath2}" alt="">
  239. </a>
  240. </div>
  241. </div>
  242. </th:block>
  243. </th:block>
  244. </div>
  245. </div>
  246. </th:block>
  247. <!-- 6. 타임딜 : 슬라이드 -->
  248. <th:block th:if="${contentsLoc=='006'}">
  249. <th:block th:each="socialData, socialStat : ${mainLayoutData.socialInfo}">
  250. <div class="content wide main_deal" th:if="${socialData.socialGoodsList != null and !socialData.socialGoodsList.empty}">
  251. <div class="cont_head">
  252. <p class="displayH" id="id006">
  253. <input type="hidden" name="title" th:value="${mainLayoutData.contentsTitle}">
  254. </p>
  255. <a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_SOCIAL_MAIN);"><span>전체보기</span></a>
  256. <div class="deal_progress">
  257. <div class="bar_current" id="barCurrent" style="width:33.333%"><span>HERE</span></div>
  258. <div class="bar_bg"></div>
  259. </div>
  260. <th:block th:each="socialData, socialStat : ${mainLayoutData.socialInfo}">
  261. <form name="socailForm" id="socailForm">
  262. <input type="hidden" name="targetTime" th:value="${socialData.socialEddt}">
  263. </form>
  264. </th:block>
  265. <div class="count" >
  266. <span class="count_tit">남은 시간</span>
  267. <div class="hotdeal">
  268. <div id="countdown">
  269. <div id="tiles"></div>
  270. </div>
  271. <div class="count_time">
  272. <span>HOURS</span>
  273. <span>MINS</span>
  274. <span>SECS</span>
  275. </div>
  276. </div>
  277. </div>
  278. </div>
  279. <div class="cont_body">
  280. <div class="swiper-container post-deal">
  281. <div class="swiper-wrapper">
  282. <!-- <th:block th:each="socialData, socialStat : ${mainLayoutData.socialInfo}">-->
  283. <th:block th:each="goodsData, goodsStat : ${socialData.socialGoodsList}">
  284. <div class="swiper-slide" th:if="${goodsStat.count<21}">
  285. <div class="item_prod">
  286. <div class="item_state">
  287. <button type="button" class="itemLike" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, goodsNm=${goodsData.goodsNm}, ithrCd='', contentsLoc='SMM006', planDtlSq=''">관심상품 추가</button>
  288. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM006');">
  289. <div class="itemPic">
  290. <img alt="" class="pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  291. </div>
  292. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
  293. <div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
  294. <div class="itemName" th:text="${goodsData.goodsNm}">여성 체인 프린트 큐롯 스커트 프린트 큐롯 스커트</div>
  295. <p class="itemPrice">
  296. [[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
  297. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,0,'COMMA')} + '원'"></span>
  298. <span class=" itemPercent" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatDecimal(goodsData.dcRate,1,0)} + '%'"></span>
  299. <!--<span class="itemPercent" th:if="${planningGoods.currPrice != planningGoods.listPrice}" th:text="${(planningGoods.listPrice == 0 ? 0 : #numbers.formatDecimal((planningGoods.listPrice - planningGoods.currPrice) / (planningGoods.listPrice * 1.0) * 100, 1, 0)) + '%'}">10%</span>-->
  300. </p>
  301. </a>
  302. </div>
  303. </div>
  304. </div>
  305. </th:block>
  306. <!-- </th:block>-->
  307. </div>
  308. <div class="swiper-controls">
  309. <div class="swiper-scrollbar"></div>
  310. </div>
  311. </div>
  312. </div>
  313. </div>
  314. </th:block>
  315. </th:block>
  316. <!-- 7. 브랜드픽 -->
  317. <th:block th:if="${contentsLoc=='007'}">
  318. <div class="content main_pick">
  319. <div class="cont_head">
  320. <p class="displayH t_c" th:text="${mainLayoutData.contentsTitle}">브랜드 PICK1</p>
  321. </div>
  322. <div class="cont_body">
  323. <div class="swiper-container post-pick-nav">
  324. <div class="swiper-wrapper">
  325. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
  326. <div class="swiper-slide"><img th:src="${@environment.getProperty('domain.image')+ContentsData.brandGroupImg}"></div>
  327. </th:block>
  328. </div>
  329. <div class="swiper-button-prev "></div>
  330. <div class="swiper-button-next "></div>
  331. </div>
  332. </div>
  333. <div class="swiper-container post-pick-for">
  334. <div class="swiper-wrapper">
  335. <th:block th:each="brandPickData, brandPickStat : ${mainLayoutData.brandPickList}">
  336. <div class="swiper-slide">
  337. <div class="pick_look">
  338. <div class="swiper-container post-lookbook">
  339. <div class="swiper-wrapper" id="id007">
  340. <th:block th:each="bannerData, bannerStat : ${brandPickData.BannerList}">
  341. <div class="swiper-slide" th:if="${bannerData.imgPath1 != ''}">
  342. <a th:href="${bannerData.strVar1}">
  343. <div class="text_box">
  344. <p class="title">
  345. <input type="hidden" name="title" th:value="${bannerData.strTitle1}">
  346. </p>
  347. <p class="sub_text" th:text="${bannerData.subText1}"> 2020 FALL / WINTER 신상살펴보기1</p>
  348. </div>
  349. <div class="img_box">
  350. <img th:src="${@environment.getProperty('domain.image')+bannerData.imgPath1}" alt="barnd lookbook">
  351. </div>
  352. </a>
  353. </div>
  354. </th:block>
  355. </div>
  356. <div class="swiper-controls">
  357. <div class="swiper-pagination"></div>
  358. </div>
  359. </div>
  360. </div>
  361. <div class="pick_item">
  362. <div class="itemGrp">
  363. <th:block th:each="goodsData, goodsStat : ${brandPickData.goodsList}">
  364. <div class="item_prod" th:if="${goodsStat.count<4}">
  365. <div class="item_state">
  366. <button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, goodsNm=${goodsData.goodsFullNm}, ithrCd='', contentsLoc='SMM007', planDtlSq=''">관심상품 추가</button>
  367. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM007');">
  368. <div class="itemPic">
  369. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  370. <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>
  371. <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>
  372. </th:block>
  373. <img alt="BLACK-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  374. </div>
  375. <div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#데일리웨어로 매일입고싶은</div>
  376. <div class="itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  377. <p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice" th:text="${#numbers.formatInteger(goodsData.currPrice,1,'COMMA')}">80,100
  378. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
  379. <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>
  380. </p>
  381. <p th:if="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]] ~</p>
  382. </a>
  383. </div>
  384. </div>
  385. </th:block>
  386. </div>
  387. </div>
  388. </div>
  389. </th:block>
  390. </div>
  391. </div>
  392. </div>
  393. </th:block>
  394. <!-- 8. 가로 긴 배너 슬라이드 -->
  395. <!-- bnn_1stage -->
  396. <th:block th:if="${contentsLoc=='008'}">
  397. <div class="content wide main_1stage">
  398. <div class="cont_head dpnone">
  399. <p class="t_c">배너 슬라이드</p>
  400. </div>
  401. <div class="cont_body">
  402. <div class="swiper-container post-bnnWide">
  403. <div class="swiper-wrapper ">
  404. <th:block th:each="ContentsData, ContentsStat : ${mainLayoutData.ContentsList}">
  405. <div class="swiper-slide silderBannerArea">
  406. <th:block th:if="${ContentsData.imgPath1!=null && ContentsData.imgPath1!=''}">
  407. <a th:href="${ContentsData.strVar1}">
  408. <div class="bnnbox" style="background:#e3e7ea;">
  409. <div class="txtWrap bannerNote">
  410. <p class="noteArea"> <!--th:text="${ContentsData.strTitle1}"-->
  411. <input type="hidden" name="bannerNote" th:value="${ContentsData.strTitle1}"/>
  412. </p>
  413. <!--<p>아우터 + 이너 단독세일</p>--> <!-- br 태그 줄바꿈해야함-->
  414. <!-- <button type="button" class="btn">VIEW MORE</button>-->
  415. </div>
  416. <img alt="BLUE-a" class=" vLHTC pd_img" th:src="${@environment.getProperty('domain.image')+ContentsData.imgPath1}">
  417. </div>
  418. </a>
  419. </th:block>
  420. </div>
  421. </th:block>
  422. </div>
  423. <div class="swiper-button-prev "></div>
  424. <div class="swiper-button-next "></div>
  425. </div>
  426. </div>
  427. <div class="cont_foot dpnone">
  428. CONT-FOOT
  429. </div>
  430. </div>
  431. </th:block>
  432. <!-- 9. MD추천 스타일 -->
  433. <th:block th:if="${contentsLoc=='009'}">
  434. <div class="content main_recomm" >
  435. <div class="cont_head">
  436. <p class="displayH t_c" th:text="${mainLayoutData.contentsTitle}"></p>
  437. </div>
  438. <div class="cont_body">
  439. <div class="sec_head">
  440. <div class="filter action tag_list">
  441. <th:block th:each="titleData, titleStat : ${mainLayoutData.mdPickList}" >
  442. <th:block th:if="${titleData.goodsList!=null and !titleData.goodsList.empty}" >
  443. <button class="btn" th:attr="data-tab=${'tag'+titleStat.count}" th:text="${titleData.mdTitle}">따뜻한 무드2</button>
  444. </th:block>
  445. </th:block>
  446. </div>
  447. </div>
  448. <div class="sec_body">
  449. <th:block th:each="titleData, titleStat : ${mainLayoutData.mdPickList}">
  450. <div th:id="${'tag'+titleStat.count}" class="tagitem" > <!--th:classappend="${titleStat.count} == 1? active"-->
  451. <div class="swiper-container post-recomm">
  452. <div class="swiper-wrapper">
  453. <th:block th:if="${titleData.goodsList!=null and !titleData.goodsList.empty}">
  454. <th:block th:each="goodsData, goodsStat : ${titleData.goodsList}">
  455. <div class="swiper-slide">
  456. <div class="item_prod">
  457. <div class="item_state">
  458. <button type="button" class="itemLike" tabindex="0" th:classappend="${goodsData.likeIt == 'likeit'}? 'likeit' : ''" onclick="cfnPutWishList(this);" th:attr="goodsCd=${goodsData.goodsCd}, goodsNm=${goodsData.goodsFullNm}, ithrCd='', contentsLoc='SMM009', planDtlSq=''">관심상품 추가</button>
  459. <a href="javascript:void(0);" class="itemLink" th:onclick="cfnGoToGoodsDetail([[${goodsData.goodsCd}]], '', '', 'SMM009');">
  460. <div class="itemPic">
  461. <th:block th:each="option,idx:${goodsData.videos}" th:with="videoArr=${#strings.arraySplit(idx.current,':')}">
  462. <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>
  463. <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>
  464. </th:block>
  465. <img alt="" class=" vLHTC pd_img" th:src="${@environment.getProperty('upload.goods.view') + '/' + goodsData.sysImgNm}" onerror="noneImg(this)">
  466. </div>
  467. <p class="itemBrand" th:text="${goodsData.brandGroupNm}">BRAND NAME</p>
  468. <div class="itemComment" th:unless="${goodsData.goodsTnm == null or goodsData.goodsTnm == ''}" th:text="${goodsData.goodsTnm}">#주문 폭주 상품</div>
  469. <div class="itemName" th:text="${goodsData.goodsFullNm}">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
  470. <p th:unless="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]]
  471. <span class="itemPrice_original" th:if="${goodsData.currPrice != goodsData.listPrice}" th:text="${#numbers.formatInteger(goodsData.listPrice,1,'COMMA')}">89,000</span>
  472. <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>
  473. </p>
  474. <p th:if="${goodsData.goodsType=='G056_D'}" class="itemPrice">[[${#numbers.formatInteger(goodsData.currPrice,0,'COMMA')}]] ~</p>
  475. </a>
  476. </div>
  477. </div>
  478. </div>
  479. </th:block>
  480. </th:block>
  481. </div>
  482. <div class="swiper-controls">
  483. <div class="swiper-pagination"></div>
  484. </div>
  485. </div>
  486. <div class="swiper-button-prev"></div>
  487. <div class="swiper-button-next"></div>
  488. </div>
  489. </th:block>
  490. </div>
  491. </div>
  492. </div>
  493. </th:block>
  494. <!-- 11. TV 슬라이드 -->
  495. <th:block th:if="${contentsLoc=='011'}">
  496. <div class="content wide main_tv" th:if="${mainLayoutData.ContentsList != null}">
  497. <div class="cont_head">
  498. <p class="displayH t_c" th:text="${mainLayoutData.contentsTitle}"></p>
  499. </div>
  500. <div class="cont_body">
  501. <div class="swiper-container post-tv">
  502. <div class="swiper-wrapper">
  503. <th:block th:each="item, stat : ${mainLayoutData.ContentsList}">
  504. <div class="swiper-slide">
  505. <div class="movbox">
  506. <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>
  507. <iframe th:if="${item.strVar1=='M'}" class="pd_mov" th:src="${kollusMediaUrl+'/'+item.strVar2+'?enable_initialize_focus=false'}" allowfullscreen></iframe>
  508. </div>
  509. </div>
  510. </th:block>
  511. </div>
  512. <div class="swiper-button-prev white"></div> <!-- 클래스명 white 추가 -->
  513. <div class="swiper-button-next white"></div>
  514. </div>
  515. <div class="swiper-controls">
  516. <div class="swiper-pagination"></div>
  517. </div>
  518. </div>
  519. </div>
  520. </th:block>
  521. </th:block>
  522. <!-- </th:block>-->
  523. <!-- End Of Main Contents -->
  524. </div>
  525. </div>
  526. <script th:inline="javascript">
  527. /* 핫딜 countDown */
  528. var target_date = '';
  529. if(!gagajf.isNull($("#socailForm").find("input[name=targetTime]").val())){
  530. target_date = $("#socailForm").find("input[name=targetTime]").val().toDate("YYYYMMDD");
  531. }
  532. if(target_date != null && target_date != ''){
  533. // var target_date = new Date().getTime() + (1000*3600*7); // set the countdown date
  534. var days, hours, minutes, seconds; // variables for time units
  535. var countdown = document.getElementById("tiles"); // get tag element
  536. getCountdown();
  537. var timerStop = setInterval(function () { getCountdown(); }, 1000);
  538. var fixDate = new Date().getTime();
  539. var fixTarget = (target_date - fixDate) / 1000;
  540. var width = (86400-fixTarget)*100/86400;
  541. function getCountdown(){
  542. // find the amount of "seconds" between now and target
  543. var current_date = new Date().getTime();
  544. var seconds_left = (target_date - current_date) / 1000;
  545. seconds_left = seconds_left % 86400;
  546. hours = pad( parseInt(seconds_left / 3600) );
  547. seconds_left = seconds_left % 3600;
  548. minutes = pad( parseInt(seconds_left / 60) );
  549. seconds = pad( parseInt( seconds_left % 60 ) );
  550. // format countdown string + set tag value
  551. countdown.innerHTML = "<span>" + hours + "</span><span>" + minutes + "</span><span>" + seconds + "</span>";
  552. var elem = document.getElementById("barCurrent");
  553. function progressMove(){
  554. width += (100-width)/fixTarget;
  555. elem.style.width = width + "%";
  556. }
  557. progressMove();
  558. if(seconds_left < 1){
  559. clearInterval(timerStop);
  560. elem.style.width = "100%";
  561. }
  562. }
  563. function pad(n) {
  564. return (n < 10 ? '0' : '') + n;
  565. }
  566. }
  567. // 컨텐츠 호출
  568. $(document).ready( function() {
  569. //$("#header").load("head.html");
  570. //$("#footer").load("foot.html");
  571. $(".tag_list .btn").eq(0).trigger('click');
  572. let randomNum = Math.floor( ( Math.random() * 4 ) );
  573. $(".it_nav .btn").eq(randomNum).trigger('click');
  574. });
  575. /* SLIDE - MAIN_VISUAL */
  576. var agent = navigator.userAgent.toLowerCase();
  577. if ( (navigator.appName == 'Netscape' && agent.indexOf('trident') != -1) || (agent.indexOf("msie") != -1)) {
  578. // ie일 경우
  579. var post01 = new Swiper('.main_visual .post-visual.swiper-container', {
  580. // Optional parameters
  581. loop: true,
  582. slidesPerView: 'auto',
  583. spaceBetween: 100,
  584. // initialSlide: 0,
  585. // 초기 슬라이드의 색인 번호입니다
  586. centeredSlides: true,
  587. // slidesOffsetBefore: 250,
  588. // 컨테이너 시작 부분 (모든 슬라이드 이전)에 슬라이드 오프셋 추가 (픽셀 단위)
  589. speed : 1000,
  590. // Navigation arrows
  591. //autoplay: false,
  592. autoplay: {
  593. delay: 3000,
  594. disableOnInteraction: false,
  595. },
  596. a11y: {
  597. enabled: true,
  598. notificationClass: 'swiper-notification',
  599. prevSlideMessage: '이전 슬라이드',
  600. nextSlideMessage: '다음 슬라이드',
  601. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  602. },
  603. navigation: {
  604. nextEl: '.post-visual .swiper-button-next',
  605. prevEl: '.post-visual .swiper-button-prev',
  606. },
  607. pagination: {
  608. el: '.main_visual .swiper-pagination',
  609. clickable: true,
  610. },
  611. });
  612. }else{
  613. // ie가 아닐 경우
  614. var post01 = new Swiper('.main_visual .post-visual', {
  615. // Optional parameters
  616. loop: true,
  617. slidesPerView: 'auto',
  618. spaceBetween: 70,
  619. // initialSlide: 0,
  620. // 초기 슬라이드의 색인 번호입니다
  621. centeredSlides: true,
  622. // slidesOffsetBefore: 250,
  623. // 컨테이너 시작 부분 (모든 슬라이드 이전)에 슬라이드 오프셋 추가 (픽셀 단위)
  624. speed : 1000,
  625. // Navigation arrows
  626. autoplay: {
  627. delay: 3000,
  628. disableOnInteraction: false,
  629. },
  630. a11y: {
  631. enabled: true,
  632. notificationClass: 'swiper-notification',
  633. prevSlideMessage: '이전 슬라이드',
  634. nextSlideMessage: '다음 슬라이드',
  635. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  636. },
  637. navigation: {
  638. nextEl: '.post-visual .swiper-button-next',
  639. prevEl: '.post-visual .swiper-button-prev',
  640. },
  641. pagination: {
  642. el: '.main_visual .swiper-pagination',
  643. clickable: true,
  644. },
  645. });
  646. }
  647. //MAIN_VISUAL_자동재생 스탑
  648. $(document).on('click','.main_visual .slide-curb-pause',function(e){
  649. post01.autoplay.stop();
  650. $(this).hide();
  651. $('.main_visual .slide-curb-play').show();
  652. });
  653. //MAIN_VISUAL_자동재생 시작
  654. $(document).on('click','.main_visual .slide-curb-play',function(e){
  655. post01.autoplay.start();
  656. $(this).hide();
  657. $('.main_visual .slide-curb-pause').show();
  658. });
  659. //210624_ 수정 : autoplay delay 변경.
  660. /* SLIDE - MAIN_TRENDY */
  661. var main_trendy_slide = new Swiper('.main_trendy .post-trendy', {
  662. watchSlidesProgress: true,
  663. watchSlidesVisibility: true,
  664. allowTouchMove: false,
  665. loop: false,
  666. loopAdditionalSlides : 1,
  667. speed : 1000,
  668. autoplay: {
  669. delay: 3000,
  670. disableOnInteraction:false,
  671. },
  672. a11y: {
  673. enabled: true,
  674. notificationClass: 'swiper-notification',
  675. prevSlideMessage: '이전 슬라이드',
  676. nextSlideMessage: '다음 슬라이드',
  677. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  678. },
  679. navigation: {
  680. nextEl: '.main_trendy .swiper-button-next',
  681. prevEl: '.main_trendy .swiper-button-prev',
  682. },
  683. // pagination: {
  684. // el: '.main_trendy .swiper-pagination',
  685. // clickable: true,
  686. // },
  687. slidesPerView: 'auto',
  688. spaceBetween: 22,
  689. });
  690. main_trendy_slide.on('slideChange', function () {
  691. var newitemIndex = main_trendy_slide.activeIndex;
  692. var slideWidth = $(".main_trendy .swiper-slide-visible").eq(0).width() + 22;
  693. $(".main_trendy .swiper-slide").removeClass('scaleBig');
  694. $(".main_trendy .swiper-slide-visible").eq(0).addClass('scaleBig');
  695. $(".main_trendy .swiper-slide-visible").eq(3).addClass('scaleBig');
  696. $(".main_trendy .swiper-wrapper").css("transform","translateX(-"+ (slideWidth * newitemIndex) +"px)");
  697. });
  698. main_trendy_slide.on('reachEnd', function () {
  699. var newitemIndex = main_trendy_slide.activeIndex + 1;
  700. var slideWidth = $(".main_trendy .swiper-slide-visible").eq(0).width() + 22;
  701. $(".main_trendy .swiper-slide").removeClass('scaleBig');
  702. $(".main_trendy .swiper-slide-visible").eq(1).addClass('scaleBig');
  703. $(".main_trendy .swiper-slide-visible").eq(4).addClass('scaleBig');
  704. $(".main_trendy .swiper-wrapper").css("transform","translateX(-"+ (slideWidth * newitemIndex) +"px)");
  705. function l(n) {
  706. if (n.direction !== "none")
  707. {
  708. var t = n.direction === "next" ? n.currentIndex + 1 : n.currentIndex - 1;
  709. o(t)
  710. }
  711. }
  712. });
  713. /* SLIDE - MAIN_IT */
  714. var main_it_slide = new Swiper ('.main_it .post-it', {
  715. //loop: true,
  716. slidesPerView: 'auto',
  717. spaceBetween: 20,
  718. slidesPerView: 4,
  719. observer: true,
  720. observeParents: true,
  721. speed : 1000,
  722. freeMode: true,
  723. autoplay: false,
  724. scrollbar: {
  725. el: '.main_it .swiper-scrollbar',
  726. hide: false,
  727. },
  728. });
  729. //MAIN_IT_카테고리 탭
  730. $(".main_it .it_nav .btn").click(function(){
  731. var itActive = $(this).attr('data-tab');
  732. $(".main_it .it_nav .btn").removeClass('active');
  733. $(".main_it .it_item").removeClass('active');
  734. $(this).addClass('active');
  735. $('#'+itActive).addClass('active');
  736. });
  737. /* SLIDE - MAIN_DEAL */
  738. var main_deal_slide = new Swiper ('.main_deal .post-deal', {
  739. loop: false,
  740. slidesPerView: 4,
  741. // slidesToScroll: 4,
  742. // centeredSlides: true,
  743. speed : 1000,
  744. autoWidth: true,
  745. autoplay: false,
  746. freeMode:true,
  747. spaceBetween: 20,
  748. // autoplay: {
  749. // delay: 2000,
  750. // disableOnInteraction: false,
  751. // },
  752. scrollbar: {
  753. el: '.post-deal .swiper-scrollbar',
  754. hide: false,
  755. },
  756. });
  757. //210604_ 수정 : 브랜드 PICK 네비게이션 수정.
  758. /* 브랜드 PICK 갯수체크 210430_수정 */
  759. var pickCont = $('.post-pick-nav .swiper-slide');
  760. var pickLength = pickCont.length;
  761. if (pickLength < 7) { //210614_ 수정 : 슬라이드 갯수 7개 미만일시 롤링 기능 억제.
  762. /* SLIDE - MAIN_PICK */
  763. var main_pick_nav = new Swiper('.main_pick .post-pick-nav', { //top
  764. initialSlide: 0,
  765. slidesPerView: 6,
  766. // slidesPerGroup: 6,
  767. loop: false,
  768. watchOverflow : true,
  769. // slideToClickedSlide : true,
  770. slideToClickedSlide : true,
  771. loopAdditionalSlides : 1,
  772. watchSlidesVisibility: true,
  773. watchSlidesProgress: true,
  774. freeMode: false,
  775. a11y: {
  776. enabled: true,
  777. notificationClass: 'swiper-notification',
  778. prevSlideMessage: '이전 슬라이드',
  779. nextSlideMessage: '다음 슬라이드',
  780. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  781. },
  782. navigation: {
  783. nextEl: '.main_pick .swiper-button-next',
  784. prevEl: '.main_pick .swiper-button-prev',
  785. },
  786. });
  787. } else {
  788. /* SLIDE - MAIN_PICK */
  789. var main_pick_nav = new Swiper('.main_pick .post-pick-nav', { //top
  790. initialSlide: 0,
  791. slidesPerView: 6,
  792. slidesPerGroup: 6,
  793. loop: false,
  794. // slideToClickedSlide : true,
  795. slideToClickedSlide : true,
  796. //loopAdditionalSlides : 1,
  797. watchSlidesVisibility: true,
  798. watchSlidesProgress: true,
  799. freeMode: false,
  800. a11y: {
  801. enabled: true,
  802. notificationClass: 'swiper-notification',
  803. prevSlideMessage: '이전 슬라이드',
  804. nextSlideMessage: '다음 슬라이드',
  805. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  806. },
  807. navigation: {
  808. nextEl: '.main_pick .swiper-button-next',
  809. prevEl: '.main_pick .swiper-button-prev',
  810. },
  811. });
  812. }
  813. //210622_ 삭제 : 슬라이드 주석 삭제.
  814. var pickForCont = $('.post-pick-for > .swiper-wrapper > .swiper-slide');
  815. var pickForLength = pickForCont.length;
  816. if (pickForLength < 7) {
  817. var main_pick_post = new Swiper('.main_pick .post-pick-for', { //thumbs
  818. initialSlide: 0,
  819. slidesPerView: 1,
  820. loop: false,
  821. watchOverflow : true,
  822. loopeSlides: 6,
  823. spaceBetween: 10,
  824. loopAdditionalSlides: 1,
  825. allowTouchMove: false,
  826. a11y: {
  827. enabled: true,
  828. notificationClass: 'swiper-notification',
  829. prevSlideMessage: '이전 슬라이드',
  830. nextSlideMessage: '다음 슬라이드',
  831. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  832. },
  833. thumbs: {
  834. swiper: main_pick_nav
  835. },
  836. });
  837. }else{
  838. var main_pick_post = new Swiper('.main_pick .post-pick-for', { //thumbs
  839. initialSlide: 0,
  840. slidesPerView: 1,
  841. loop: true,
  842. loopeSlides: 6,
  843. loopAdditionalSlides: 1,
  844. allowTouchMove: false,
  845. a11y: {
  846. enabled: true,
  847. notificationClass: 'swiper-notification',
  848. prevSlideMessage: '이전 슬라이드',
  849. nextSlideMessage: '다음 슬라이드',
  850. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  851. },
  852. thumbs: {
  853. swiper: main_pick_nav
  854. },
  855. });
  856. }
  857. $(".main_pick .post-lookbook").each(function(index){
  858. var lookbookBnnCont = $(this).find('.swiper-slide');
  859. var lookbookBnnLength = lookbookBnnCont.length;
  860. if (lookbookBnnLength < 2) {
  861. var main_pick_lookbook = new Swiper ($(this), {
  862. slidesPerView: 1,
  863. speed : 1000,
  864. loop: false,
  865. watchOverflow: true, //loop와 함께 사용 불가.
  866. a11y: {
  867. enabled: true,
  868. notificationClass: 'swiper-notification',
  869. prevSlideMessage: '이전 슬라이드',
  870. nextSlideMessage: '다음 슬라이드',
  871. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  872. },
  873. autoplay: {
  874. delay: 3000,
  875. disableOnInteraction: false,
  876. },
  877. pagination: {
  878. el: '.main_pick .post-lookbook .swiper-pagination',
  879. clickable: true,
  880. },
  881. });
  882. }else{
  883. var main_pick_lookbook = new Swiper ($(this), {
  884. slidesPerView: 1,
  885. speed : 1000,
  886. loop: true,
  887. a11y: {
  888. enabled: true,
  889. notificationClass: 'swiper-notification',
  890. prevSlideMessage: '이전 슬라이드',
  891. nextSlideMessage: '다음 슬라이드',
  892. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  893. },
  894. autoplay: {
  895. delay: 3000,
  896. disableOnInteraction: false,
  897. },
  898. pagination: {
  899. el: '.main_pick .post-lookbook .swiper-pagination',
  900. clickable: true,
  901. },
  902. });
  903. }
  904. });
  905. //210705_수정 : 기획전 배너 2개이상 등록시 슬라이드 각각 실행.
  906. $(".main_1stage .post-bnnWide").each(function(index){
  907. var pickBnnCont = $(this).find('.swiper-slide');
  908. var pickBnnLength = pickBnnCont.length;
  909. if (pickBnnLength < 2) {
  910. /* SLIDE - MAIN_BANNER WIDE */
  911. var main_bnnWide_slide = new Swiper ($(this), {
  912. slidesPerView: 1,
  913. speed : 1000,
  914. initialSlide: 0,
  915. loop: false,
  916. watchOverflow: true, //loop와 함께 사용 불가.
  917. a11y: {
  918. enabled: true,
  919. notificationClass: 'swiper-notification',
  920. prevSlideMessage: '이전 슬라이드',
  921. nextSlideMessage: '다음 슬라이드',
  922. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  923. },
  924. navigation: {
  925. nextEl: '.main_1stage .swiper-button-next',
  926. prevEl: '.main_1stage .swiper-button-prev',
  927. },
  928. // allowTouchMove : false,
  929. // centeredSlides: true,
  930. });
  931. }else{
  932. /* SLIDE - MAIN_BANNER WIDE */
  933. var main_bnnWide_slide = new Swiper ($(this), {
  934. slidesPerView: 1,
  935. speed : 1000,
  936. initialSlide: 0,
  937. loop: true,
  938. autoplay: {
  939. delay: 4000,
  940. disableOnInteraction: false,
  941. },
  942. a11y: {
  943. enabled: true,
  944. notificationClass: 'swiper-notification',
  945. prevSlideMessage: '이전 슬라이드',
  946. nextSlideMessage: '다음 슬라이드',
  947. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  948. },
  949. navigation: {
  950. nextEl: '.main_1stage .swiper-button-next',
  951. prevEl: '.main_1stage .swiper-button-prev',
  952. },
  953. // allowTouchMove : false,
  954. // centeredSlides: true,
  955. });
  956. }
  957. });
  958. /* SLIDE - MAIN_RECOMM */
  959. //MAIN_RECOMM_키워드 탭
  960. $(".main_recomm .tag_list .btn").click(function(){
  961. var recommActive = $(this).attr('data-tab');
  962. $(".main_recomm .tag_list .btn").removeClass('active');
  963. $(".main_recomm .tagitem").removeClass('active');
  964. $(this).addClass('active');
  965. $('#'+recommActive).addClass('active');
  966. });
  967. function init(){
  968. if(main_recomm_slide != null) main_recomm_slide.destroy();
  969. var main_recomm_slide = new Swiper ('.main_recomm .post-recomm', {
  970. slidesPerView: 5,
  971. slidesPerGroup: 5,
  972. speed : 1000,
  973. spaceBetween: 20,
  974. loop : true,
  975. a11y: {
  976. enabled: true,
  977. notificationClass: 'swiper-notification',
  978. prevSlideMessage: '이전 슬라이드',
  979. nextSlideMessage: '다음 슬라이드',
  980. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  981. },
  982. pagination: {
  983. el: '.main_recomm .swiper-pagination',
  984. clickable: true,
  985. },
  986. navigation: {
  987. nextEl: '.main_recomm .swiper-button-next',
  988. prevEl: '.main_recomm .swiper-button-prev',
  989. },
  990. observer:true,
  991. observeParents: true,
  992. });
  993. }
  994. init();
  995. /* SLIDE - MAIN_FORYOU */
  996. var cntNum = 0;
  997. var main_foryou_slide = new Swiper ('.main_foryou .post-sug .swiper-container', {
  998. allowTouchMove: false,
  999. loop: false,
  1000. effect: 'fade',
  1001. autoHeight: false,
  1002. autoplay: {
  1003. delay: 25000,
  1004. disableOnInteraction: false,
  1005. },
  1006. a11y: {
  1007. enabled: true,
  1008. notificationClass: 'swiper-notification',
  1009. prevSlideMessage: '이전 슬라이드',
  1010. nextSlideMessage: '다음 슬라이드',
  1011. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1012. },
  1013. pagination: {
  1014. el: '.post-sug .swiper-pagination',
  1015. clickable: true,
  1016. },
  1017. on : {
  1018. slideChange: function(){
  1019. $(".fy_nav .swiper-slide li").children('.btn_shape').removeClass('active');
  1020. $(".fy_nav .swiper-slide-next li").eq(0).children('.btn_shape').addClass('active');
  1021. $(".fy_nav .swiper-slide-prev li").eq(0).children('.btn_shape').addClass('active');
  1022. foryouIndex = -1;
  1023. if(cntNum === 0){
  1024. $('.fy_item').removeClass('active');
  1025. $('#fy6').addClass('active');
  1026. cntNum = 1;
  1027. } else {
  1028. $('.fy_item').removeClass('active');
  1029. $('#fy1').addClass('active');
  1030. cntNum = 0;
  1031. }
  1032. clearInterval(ti);
  1033. ti = startTimeInterval();
  1034. }
  1035. },
  1036. });
  1037. function foryouInterval(_foryouIndex) {
  1038. var foryouCateItems = $(".main_foryou .fy_nav .swiper-slide-active ul li .btn_shape");
  1039. $(foryouCateItems[(_foryouIndex + 1) % 5]).addClass("active");
  1040. $(foryouCateItems[_foryouIndex % 5]).removeClass("active");
  1041. }
  1042. function foryouFy_item(_Fy_itemIndex) {
  1043. var fynavItems = $('.main_foryou .fy_nav .swiper-slide-active ul li .btn_shape.active');
  1044. var fyActive = $(fynavItems).attr('data-tab');
  1045. // $(".fy_nav .btn_shape").removeClass('active');
  1046. $(".fy_item").removeClass('active');
  1047. // $(".fy_item").addClass('active');
  1048. $('#'+fyActive).addClass('active');
  1049. }
  1050. var foryouIndex = 0;
  1051. var ti;
  1052. function startTimeInterval() {
  1053. return setInterval(function () {
  1054. $(".fy_nav .btn_shape").removeClass('active');
  1055. $(".fy_item").removeClass('active');
  1056. foryouInterval(foryouIndex);
  1057. foryouFy_item();
  1058. if (foryouIndex >= 5) foryouIndex = 0;
  1059. foryouIndex++;
  1060. }, 5000);
  1061. }
  1062. $(".fy_nav .btn_shape").click(function(){
  1063. var fyActive = $(this).attr('data-tab');
  1064. $(".fy_nav .btn_shape").removeClass('active');
  1065. $(".fy_item").removeClass('active');
  1066. $(this).addClass('active');
  1067. $('#'+fyActive).addClass('active');
  1068. });
  1069. $(".fy_nav ul li").click(function(){
  1070. foryouIndex = $(this).index();
  1071. clearInterval(ti);
  1072. ti = startTimeInterval();
  1073. });
  1074. ti = startTimeInterval();
  1075. /* SLIDE - MAIN_TV */
  1076. //210629_ 수정 : 슬라이드 1개일 때, loop랑 롤링 제거.
  1077. var mainTvCont = $('.main_tv .swiper-slide');
  1078. var mainTvLength = mainTvCont.length;
  1079. if (mainTvLength < 2) {
  1080. var main_tv_slide = new Swiper ('.main_tv .post-tv', {
  1081. loop: false,
  1082. watchOverflow:true,
  1083. slidesPerView: 'auto',
  1084. spaceBetween: 170,
  1085. centeredSlides: true,
  1086. speed : 1000,
  1087. autoplay: false,
  1088. a11y: {
  1089. enabled: true,
  1090. notificationClass: 'swiper-notification',
  1091. prevSlideMessage: '이전 슬라이드',
  1092. nextSlideMessage: '다음 슬라이드',
  1093. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1094. },
  1095. navigation: {
  1096. nextEl: '.main_tv .swiper-button-next',
  1097. prevEl: '.main_tv .swiper-button-prev',
  1098. },
  1099. pagination: {
  1100. el: '.main_tv .swiper-pagination',
  1101. clickable: true,
  1102. },
  1103. });
  1104. }else{
  1105. var main_tv_slide = new Swiper ('.main_tv .post-tv', {
  1106. loop: true,
  1107. slidesPerView: 'auto',
  1108. spaceBetween: 170,
  1109. centeredSlides: true,
  1110. speed : 1000,
  1111. autoplay: false,
  1112. a11y: {
  1113. enabled: true,
  1114. notificationClass: 'swiper-notification',
  1115. prevSlideMessage: '이전 슬라이드',
  1116. nextSlideMessage: '다음 슬라이드',
  1117. paginationBulletMessage: '슬라이드 {{index}}로 이동',
  1118. },
  1119. navigation: {
  1120. nextEl: '.main_tv .swiper-button-next',
  1121. prevEl: '.main_tv .swiper-button-prev',
  1122. },
  1123. pagination: {
  1124. el: '.main_tv .swiper-pagination',
  1125. clickable: true,
  1126. },
  1127. });
  1128. }
  1129. // 스크립트 제거
  1130. function fnRemoveHTML(text){
  1131. var reText = text.replace(/(<br>|<br\/>|<br \/>)/g, "\n");
  1132. reText = reText.replace(/<(\/)?([a-zA-Z]*)(\s[a-zA-Z]*=[^>]*)?(\s)*(\/)?>/ig, "");
  1133. reText = reText.replace(/(?:\r\n|\r|\n)/g, '<br/>');
  1134. return reText;
  1135. }
  1136. $(document).ready(function() {
  1137. // 몰메인 <br> 태그
  1138. $('.mainTitle').each(function (){
  1139. var brText = $(this).find("input[name=mainTitlee]").val();
  1140. // let tag = brText.replace(/(<br>|<br\/>|<br \/>)/g, '<br>');
  1141. let tag = fnRemoveHTML(brText);
  1142. $(this).append(tag);
  1143. });
  1144. // $('.mainSubTitle').each(function (){
  1145. // var brText = $(this).find("input[name=mainSubTitlee]").val();
  1146. // let tag = fnRemoveHTML(brText);
  1147. // $(this).append(tag);
  1148. // });
  1149. // 가로긴배너 슬라이드
  1150. $('.silderBannerArea').each(function (){
  1151. let tag = '';
  1152. if(!gagajf.isNull($(this).find("input[name=bannerNote]").val())) {
  1153. var noteText = $(this).find("input[name=bannerNote]").val();
  1154. tag = fnRemoveHTML(noteText);
  1155. $(this).find('.noteArea').append(tag);
  1156. }
  1157. });
  1158. // 스타일리포트 <br> 태그
  1159. $('.styleArea').each(function (){
  1160. let tag = '';
  1161. let tag2 = '';
  1162. if(!gagajf.isNull($(this).find("input[name=styleTitle]").val())) {
  1163. var titleText = $(this).find("input[name=styleTitle]").val();
  1164. tag = fnRemoveHTML(titleText);
  1165. $(this).find('.styleTitleC').append(tag);
  1166. }
  1167. if(!gagajf.isNull($(this).find("input[name=styleNote]").val())) {
  1168. var noteText = $(this).find("input[name=styleNote]").val();
  1169. tag2 = fnRemoveHTML(noteText);
  1170. $(this).find('.styleNoteC').append(tag2);
  1171. }
  1172. });
  1173. // 잇아이템 <br> 태그
  1174. if(!gagajf.isNull($("#id004").find("input[name=title]").val())){
  1175. var id004Text = $("#id004").find("input[name=title]").val();
  1176. let tag = fnRemoveHTML(id004Text);
  1177. $("#id004").append(tag);
  1178. }
  1179. // 핫딜 <br> 태그
  1180. if(!gagajf.isNull($("#id006").find("input[name=title]").val())){
  1181. var id006Text = $("#id006").find("input[name=title]").val();
  1182. let tag = fnRemoveHTML(id006Text);
  1183. $("#id006").append(tag);
  1184. }
  1185. // 브랜드픽 <br> 태그
  1186. $('#id007 .title').each(function (){
  1187. let tag = '';
  1188. if(!gagajf.isNull($(this).find("input[name=title]").val())){
  1189. var brText = $(this).find("input[name=title]").val();
  1190. tag = fnRemoveHTML(brText);
  1191. $(this).append(tag);
  1192. }
  1193. });
  1194. });
  1195. /*]]>*/
  1196. </script>
  1197. <!-- Criteo 홈페이지 태그 -->
  1198. <script type="text/javascript">
  1199. window.criteo_q = window.criteo_q || [];
  1200. var deviceType = /iPad/.test(navigator.userAgent) ? "t" : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent) ? "m" : "d";
  1201. window.criteo_q.push(
  1202. { event: "setAccount", account: 6762}, // 이 라인은 업데이트하면 안됩니다
  1203. { event: "setEmail", email: criteoEmail }, // 빈 문자일 수 있습니다
  1204. { event: "setSiteType", type: deviceType},
  1205. { event: "viewHome"});
  1206. </script>
  1207. <!--// Criteo 홈페이지 태그 -->
  1208. <!-- Enliple(모비온) Insite naver Quick start -->
  1209. <script type="text/javascript">
  1210. // 인사이트 마케팅
  1211. (function(m,b,r,i,s){m.mbris=m.mbris||function(){(m.mbris.q=m.mbris.q||[]).push(arguments)};i=b.createElement(r);i.async=!0;i.defer=!0;i.src="https://cdn.megadata.co.kr/dist/prod/enp_mbris.min.js";0<b.querySelectorAll("script[src*=enp_mbris]").length&&m.ENP_MBRIS_INVOKE?m.ENP_MBRIS_INVOKE():(s=b.getElementsByTagName(r)[0],s.parentNode.insertBefore(i,s))})(window,document,"script");mbris("202108222155731618_is24_1_01,202108222155731619_is24_1_02");
  1212. </script>
  1213. <!--// Enliple(모비온) Insite naver Quick end -->
  1214. </th:block>
  1215. </body>
  1216. </html>