BestMainFormWeb.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  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 : BestMainFormWeb.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.04.13 bin2107 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <div id="container" class="container dp">
  22. <div class="breadcrumb">
  23. <ul>
  24. <li class="bread_home"><a href="index.html">홈</a></li>
  25. <li class="bread_2depth">베스트</li>
  26. </ul>
  27. </div>
  28. <div class="wrap">
  29. <div class="content wide dp_best"> <!-- 페이지특정 클래스 = dp_best -->
  30. <div class="cont_head">
  31. <div>
  32. <h3>베스트</h3>
  33. </div>
  34. </div>
  35. <div class="cont_body">
  36. <div class="taps">
  37. <div>
  38. <ul id="cateListArea">
  39. <li class="active" id="li0"><a href="javascript:void(0);" onclick="fnBestListSearch(this,0);">전체</a></li>
  40. <th:block th:each="item, stat : ${bestCateList}">
  41. <li class="" th:id="${'li'+item.cateNo}"><a href="javascript:void(0);" th:onclick="fnBestListSearch(this,[[${item.cateNo}]]);" th:text="${item.cateNm}"></a></li>
  42. </th:block>
  43. </ul>
  44. </div>
  45. </div>
  46. <!-- 지금 많이 보고 있어요 -->
  47. <div class="dp_best_live">
  48. <div class="sec_head">
  49. <p class="dp_live_txt"><img src="/images/pc/dp_best_livetxt.jpg" alt="STYLE24 실시간 베스트 상품! "></p>
  50. <p class="displayH">지금 많이 <br> <span>보고 있어요</span></p>
  51. <button type="button"><span><em class="time">17:30</em> 기준</span></button>
  52. </div>
  53. <div class="sec_body">
  54. <div class="swiper-container dp_live_slider">
  55. <div class="swiper-wrapper">
  56. <div class="swiper-slide">
  57. <div class="item_prod">
  58. <div class="item_state">
  59. <button type="button" class="itemLike">관심상품 추가</button>
  60. <a href="#none" class="itemLink">
  61. <div class="itemPic">
  62. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  63. </div>
  64. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  65. <div class="viewCount"><span>508</span>명 보는중</div>
  66. </a>
  67. </div>
  68. </div>
  69. </div>
  70. <div class="swiper-slide">
  71. <div class="item_prod">
  72. <div class="item_state">
  73. <button type="button" class="itemLike">관심상품 추가</button>
  74. <a href="#none" class="itemLink">
  75. <div class="itemPic">
  76. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  77. </div>
  78. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  79. <div class="viewCount"><span>508</span>명 보는중</div>
  80. </a>
  81. </div>
  82. </div>
  83. </div>
  84. <div class="swiper-slide">
  85. <div class="item_prod">
  86. <div class="item_state">
  87. <button type="button" class="itemLike">관심상품 추가</button>
  88. <a href="#none" class="itemLink">
  89. <div class="itemPic">
  90. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  91. </div>
  92. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  93. <div class="viewCount"><span>508</span>명 보는중</div>
  94. </a>
  95. </div>
  96. </div>
  97. </div>
  98. <div class="swiper-slide">
  99. <div class="item_prod">
  100. <div class="item_state">
  101. <button type="button" class="itemLike">관심상품 추가</button>
  102. <a href="#none" class="itemLink">
  103. <div class="itemPic">
  104. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  105. </div>
  106. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  107. <div class="viewCount"><span>508</span>명 보는중</div>
  108. </a>
  109. </div>
  110. </div>
  111. </div>
  112. <div class="swiper-slide">
  113. <div class="item_prod">
  114. <div class="item_state">
  115. <button type="button" class="itemLike">관심상품 추가</button>
  116. <a href="#none" class="itemLink">
  117. <div class="itemPic">
  118. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  119. </div>
  120. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  121. <div class="viewCount"><span>508</span>명 보는중</div>
  122. </a>
  123. </div>
  124. </div>
  125. </div>
  126. <div class="swiper-slide">
  127. <div class="item_prod">
  128. <div class="item_state">
  129. <button type="button" class="itemLike">관심상품 추가</button>
  130. <a href="#none" class="itemLink">
  131. <div class="itemPic">
  132. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  133. </div>
  134. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  135. <div class="viewCount"><span>508</span>명 보는중</div>
  136. </a>
  137. </div>
  138. </div>
  139. </div>
  140. <div class="swiper-slide">
  141. <div class="item_prod">
  142. <div class="item_state">
  143. <button type="button" class="itemLike">관심상품 추가</button>
  144. <a href="#none" class="itemLink">
  145. <div class="itemPic">
  146. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  147. </div>
  148. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  149. <div class="viewCount"><span>508</span>명 보는중</div>
  150. </a>
  151. </div>
  152. </div>
  153. </div>
  154. <div class="swiper-slide">
  155. <div class="item_prod">
  156. <div class="item_state">
  157. <button type="button" class="itemLike">관심상품 추가</button>
  158. <a href="#none" class="itemLink">
  159. <div class="itemPic">
  160. <img alt="" class="vLHTC pd_img" src="/images/pc/thumb/tmp_pdTogether1.jpg">
  161. </div>
  162. <div class="itemName">남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩 남성 로고 자카드 방풍 패딩</div>
  163. <div class="viewCount"><span>508</span>명 보는중</div>
  164. </a>
  165. </div>
  166. </div>
  167. </div>
  168. </div>
  169. <div class="swiper-controls">
  170. <div class="swiper-scrollbar"></div>
  171. </div>
  172. </div>
  173. </div>
  174. </div>
  175. <!-- 지금 많이 보고 있어요 -->
  176. </div>
  177. </div>
  178. <div class="content dp_best_top100">
  179. <div class="cont_head">
  180. <div>
  181. <h3>베스트 TOP100</h3>
  182. </div>
  183. </div>
  184. <div class="cont_body">
  185. <div class="ui_row">
  186. <div class="ui_col_12">
  187. <form class="form_wrap">
  188. <div class="form_field">
  189. <div class="select_custom select_sex">
  190. <div class="combo">
  191. <div class="select">구매 성별 전체</div>
  192. <ul class="list">
  193. <!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" 추가 -->
  194. <li class="selected">전체</li>
  195. <li>남성</li>
  196. <li>여성</li>
  197. </ul>
  198. </div>
  199. </div>
  200. <div class="select_custom select_age">
  201. <div class="combo">
  202. <div class="select">구매 연령 전체</div>
  203. <ul class="list">
  204. <!-- 선택처리 class="selected" / 선택불가 aria-disabled="true" 추가 -->
  205. <li class="selected">전체</li>
  206. <li>10대</li>
  207. <li>20대</li>
  208. <li>30대</li>
  209. <li>40대</li>
  210. <li>50대 이상</li>
  211. </ul>
  212. </div>
  213. </div>
  214. </div>
  215. </form>
  216. </div>
  217. </div>
  218. <div id="infiniteContainer">
  219. <div id="listBoxOuter" class="itemsGrp">
  220. <ul class="productlist quarter" >
  221. </ul>
  222. </div>
  223. </div>
  224. <div class="list_content">
  225. <div class="itemsGrp" id="listBox"> <!-- itemsGrp rank hot deal -->
  226. <!--<div class="item_prod">
  227. <div class="item_state">
  228. <button type="button" class="itemLike">관심상품 추가</button>
  229. <a href="#none" class="itemLink">
  230. <div class="rank ranker"><span>1</span></div>
  231. <div class="itemPic">
  232. <img alt="BLUE-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
  233. </div>
  234. <p class="itemBrand">BRAND NAME</p>
  235. <div class="itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
  236. <p class="itemPrice">80,100
  237. <span class="itemPrice_original">89,000</span>
  238. <span class=" itemPercent">10%</span>
  239. </p>
  240. <div class="itemcolorchip">
  241. <span class="chip_color35" value="ABM">BEIGE</span>
  242. <span class="chip_color54" value="BDS">BLACK</span>
  243. <span class="chip_color40" value="YBR">WHITE</span>
  244. </div>
  245. <p class="itemBadge">
  246. <span class="badge13">베스트 </span>
  247. </p>
  248. <div class="itemComment">#주문 폭주 상품</div>
  249. </a>
  250. </div>
  251. </div>-->
  252. </div>
  253. </div>
  254. </div>
  255. </div>
  256. <div class="last_page" id="divLastPage" style="display: none;">
  257. <span>마지막 페이지입니다.</span>
  258. </div>
  259. </div>
  260. </div>
  261. <form id="bestGoodsForm" name="bestGoodsForm">
  262. <input type="hidden" name="pageNo" id="pageNo" value ="1"/>
  263. <input type="hidden" name="pageSize" value ="30"/>
  264. <input type="hidden" name="cateNo" value=""/>
  265. <input type="hidden" name="sortGb"/>
  266. </form>
  267. <script src="/ux/plugins/gaga/gaga.infinite.scrollSession.js"></script>
  268. <script src="/ux/plugins/jquery/jquery.history.min.js"></script>
  269. <script th:src="@{'/biz/goods.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/goods.js"></script>
  270. <script th:inline="javascript">
  271. /*<![CDATA[*/
  272. var bestCateList = [[${bestCateList}]];
  273. $(document).ready( function() {
  274. // 베스트TOP100 정렬
  275. var select_sex = new sCombo('.select_sex.select_custom');
  276. var select_age = new sCombo('.select_age.select_custom');
  277. /* SLIDE - 지금많이 보고있어요 */
  278. var dp_live_slide = new Swiper ('.dp_best_live .dp_live_slider', {
  279. slidesPerView: 6,
  280. spaceBetween: 20,
  281. speed : 1000,
  282. freeMode: true,
  283. autoplay: false,
  284. scrollbar: {
  285. el: '.dp_best_live .swiper-scrollbar',
  286. hide: false,
  287. },
  288. });
  289. });
  290. var fnBestListSearch = function (obj, cateNo){
  291. if(gagajf.isNull(cateNo)){
  292. cateNo = 0;
  293. }
  294. $.each($("#cateListArea").find('li'), function() {
  295. $(this).removeClass();
  296. });
  297. $("#li"+cateNo).addClass('active');
  298. $("#bestGoodsForm input[name=cateNo]").val(cateNo);
  299. fnCategoryGoodsInfiniteScrollInit();
  300. gagaInfiniteScroll.getHistory();
  301. }
  302. // 상품 검색
  303. var fnGetInfiniteScrollDataList = function (pageNum){
  304. $("#bestGoodsForm input[name=pageNo]").val(pageNum+1);
  305. gagajf.ajaxFormSubmit("/display/best/main/goods/list", document.bestGoodsForm, gagaInfiniteScroll.jsonToHtml);
  306. }
  307. var fnDrawInfiniteScrollData = function (result){
  308. let totalCnt = result.totalCnt;
  309. gagaInfiniteScroll.pageStatus.totalCount = result.totalCnt;
  310. var ithrCd = '';
  311. var contentLoc = '';
  312. if (result.dataList != null && result.dataList.length > 0) {
  313. var goodsUrl = [[${@environment.getProperty('upload.goods.view')}]];;
  314. let lastPage = result.paging.pageable.pageNo;
  315. let endRow = result.endRow - result.paging.pageable.pageSize;
  316. var htm = fnCreateGoodsList(result, ithrCd, contentLoc, goodsUrl, lastPage, endRow);
  317. gagaInfiniteScroll.draw(htm);
  318. }else{
  319. if($("#bestGoodsForm input[name=pageNo]").val()==1){
  320. $('#listBox').html('<li class="none">상품정보가 존재하지 않습니다.</li>');
  321. }
  322. $("#divLastPage").show();
  323. gagaInfiniteScroll.draw('not');
  324. }
  325. }
  326. // 사파리 - event.persisted || 크롬 - window.performance.navigation.type 이 1이면 새로고침, 2면 페이지 이동을 통한 캐쉬페이징
  327. $(window).on("pageshow", function(event) {
  328. if ( (event.originalEvent && event.originalEvent.persisted) || (window.performance && window.performance.navigation.type == 2)) {
  329. var historyData = sessionStorage.getItem(document.location.href);
  330. if(historyData!=null){
  331. historyData = JSON.parse(historyData);
  332. }else{
  333. historyData = {};
  334. }
  335. fnBestListSearch();
  336. }else{
  337. fnCategoryGoodsInfiniteScrollInit();
  338. fnBestListSearch();
  339. }
  340. });
  341. /*]]>*/
  342. </script>
  343. </th:block>
  344. </body>
  345. </html>