common-ui.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. /* *******************************************
  2. [1][ prefix ]
  3. uifn_
  4. [2][ index ]
  5. 1. Variables (전역변수)
  6. 2. Init (초기설정)
  7. 3. Utility (유틸리티)
  8. 4. Custom (라이브러리 커스텀)
  9. 5. Content (컨텐츠)
  10. [3][ update ]
  11. 2020.12.02 FOOT area - popup, family site, scrollTop
  12. 2020.12.10 FORM - check-All, input-File-Add, Select Custom
  13. ******************************************* */
  14. /* * * * * * * * * * * * * * * * * * * * * *
  15. (1) Variables (전역변수)
  16. * * * * * * * * * * * * * * * * * * * * * */
  17. /* * * * * * * * * * * * * * * * * * * * * * *
  18. 2. Init (초기설정)
  19. * * * * * * * * * * * * * * * * * * * * * */
  20. $(document).ready(function(){
  21. // history back
  22. $(".back").on("click", function () {
  23. history.back()
  24. });
  25. // header minify
  26. $(function(){
  27. $(window).scroll(function(){
  28. //var scroll = $(this).scrollTop();
  29. var headerH = $('#header .hd_top_banner').outerHeight() + $('#header .area').outerHeight();
  30. var miniGnbH = $('#header.minify .gnb').outerHeight();
  31. if ($(window).scrollTop() > headerH){
  32. //header minify
  33. $("#header").addClass("minify");
  34. $("#header .hd_top_banner,#header .common_header > .area").hide();
  35. $("#container").css("padding-top",headerH + miniGnbH);
  36. }
  37. else {
  38. //header minify
  39. $("#header").removeClass("minify");
  40. $("#header .hd_top_banner,#header .common_header > .area").show();
  41. $("#container").css("padding-top","0px");
  42. }
  43. });
  44. });
  45. // brand-header minify
  46. $(function(){
  47. $(window).scroll(function(){
  48. //var scroll = $(this).scrollTop();
  49. var brheaderH = $('#br_header').outerHeight();
  50. if ($(window).scrollTop() > brheaderH){
  51. //header minify
  52. $("#br_header").addClass("minify");
  53. $("#br_header .hd_top_banner,#br_header .common_header.br_header .area").hide();
  54. $(".common_header.br_header .gnb .nav #brd_nav .home").show();
  55. }
  56. else {
  57. //header minify
  58. $("#br_header").removeClass("minify");
  59. $("#br_header .hd_top_banner,#br_header .common_header.br_header .area").show();
  60. $(".common_header.br_header .gnb .nav #brd_nav .home").hide();
  61. }
  62. });
  63. });
  64. // items like on/off
  65. $(function(){
  66. $(".itemLike").click(function () {
  67. $(this).toggleClass("likeit");
  68. });
  69. });
  70. });
  71. /* * * * * * * * * * * * * * * * * * * * * * *
  72. 3. Utility (유틸리티)
  73. * * * * * * * * * * * * * * * * * * * * * */
  74. // FORM
  75. // input-File-Add
  76. $(document).ready(function() {
  77. if (window.File && window.FileList && window.FileReader) {
  78. $("#fileAdd").on("change", function(e) {
  79. var files = e.target.files,
  80. filesLength = files.length;
  81. for (var i = 0; i < filesLength; i++) {
  82. var f = files[i]
  83. var fileReader = new FileReader();
  84. fileReader.onload = (function(e) {
  85. var file = e.target;
  86. $("<span class=\"pics\">" +
  87. "<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
  88. "<br/><span class=\"removes\">Removes image</span>" +
  89. "</span>").insertAfter("#fileAdd");
  90. $(".removes").click(function(){
  91. $(this).parent(".pics").remove();
  92. });
  93. });
  94. fileReader.readAsDataURL(f);
  95. }
  96. });
  97. } else {
  98. alert("브라우저가 File API를 지원하지 않습니다.")
  99. }
  100. });
  101. // input-File-Adds
  102. $(document).ready(function() {
  103. if (window.File && window.FileList && window.FileReader) {
  104. $("#fileAdds").on("change", function(e) {
  105. var files = e.target.files,
  106. filesLength = files.length;
  107. for (var i = 0; i < filesLength; i++) {
  108. var f = files[i]
  109. var fileReader = new FileReader();
  110. fileReader.onload = (function(e) {
  111. var file = e.target;
  112. $("<span class=\"pics\">" +
  113. "<img class=\"picsThumbs\" src=\"" + e.target.result + "\" title=\"" + file.name + "\"/>" +
  114. "<br/><span class=\"removes\">Removes image</span>" +
  115. "</span>").insertAfter("#fileAdds");
  116. $(".removes").click(function(){
  117. $(this).parent(".pics").remove();
  118. });
  119. });
  120. fileReader.readAsDataURL(f);
  121. }
  122. });
  123. } else {
  124. alert("브라우저가 File API를 지원하지 않습니다.")
  125. }
  126. });
  127. // check-All
  128. $( document ).ready(function() {
  129. var $chkAll = $('.check-all');
  130. $chkAll.change(function () {
  131. var checked = $(this).prop('checked');
  132. $('input[name="dd"]').prop('checked', checked);
  133. });
  134. var ddChk = $('input[name="dd"]');
  135. ddChk.change(function () {
  136. var ddChkLength = ddChk.length;
  137. var checkedLength = $('input[name="dd"]:checked').length;
  138. var selectAll = (ddChkLength == checkedLength);
  139. $chkAll.prop('checked', selectAll);
  140. });
  141. });
  142. //Select Custom
  143. $( document ).ready(function() {
  144. $('select').each(function(){
  145. var $this = $(this), numberOfOptions = $(this).children('option').length;
  146. $this.addClass('select_hidden');
  147. $this.wrap('<div class="select"></div>');
  148. $this.after('<div class="select_dress"></div>');
  149. var $dressSelect = $this.next('div.select_dress');
  150. $dressSelect.text($this.children('option').eq(0).text());
  151. var $selList = $('<ul />', {
  152. 'class': 'select_options'
  153. }).insertAfter($dressSelect);
  154. for (var i = 0; i < numberOfOptions; i++) {
  155. $('<li />', {
  156. text: $this.children('option').eq(i).text(),
  157. rel: $this.children('option').eq(i).val(),
  158. class: $this.children('option').eq(i).attr('disabled')
  159. }).appendTo($selList);
  160. }
  161. var $selListItems = $selList.children('li');
  162. $dressSelect.click(function(e) {
  163. e.stopPropagation();
  164. $('div.select_dress.active').not(this).each(function(){
  165. $(this).removeClass('active').next('ul.select_options').hide();
  166. });
  167. $(this).toggleClass('active').next('ul.select_options').toggle();
  168. });
  169. $selListItems.click(function(e) {
  170. e.stopPropagation();
  171. if($(this).hasClass('disabled')){
  172. $this.val($(this).attr('rel',false));
  173. }
  174. else{
  175. $dressSelect.text($(this).text()).removeClass('active');
  176. $this.val($(this).attr('rel'));
  177. $selList.hide();
  178. }
  179. });
  180. $(document).click(function() {
  181. $dressSelect.removeClass('active');
  182. $selList.hide();
  183. });
  184. });
  185. });
  186. // Select-Combo-Custom
  187. function sCombo(selector){
  188. this.$selectBox = null,
  189. this.$select = null,
  190. this.$list = null,
  191. this.$listLi = null;
  192. sCombo.prototype.init = function(selector){
  193. this.$selectBox = $(selector);
  194. this.$select = this.$selectBox.find('.combo .select');
  195. this.$list = this.$selectBox.find('.combo .list');
  196. this.$listLi = this.$list.children('li');
  197. }
  198. sCombo.prototype.initEvent = function(e){
  199. var that = this;
  200. this.$select.on('click', function(e){
  201. that.listOn();
  202. });
  203. this.$listLi.on('click', function(e){
  204. that.listSelect($(this));
  205. });
  206. $(document).on('click', function(e){
  207. that.listOff($(e.target));
  208. });
  209. }
  210. sCombo.prototype.listOn = function(){
  211. this.$selectBox.toggleClass('on');
  212. if(this.$selectBox.hasClass('on')){
  213. this.$list.css('display', 'block');
  214. }else{
  215. this.$list.css('display', 'none');
  216. };
  217. }
  218. sCombo.prototype.listSelect = function($target){
  219. $target.addClass('selected').siblings('li').removeClass('selected');
  220. this.$selectBox.removeClass('on');
  221. //this.$select.text($target.text());
  222. this.$select.html($target.html());
  223. this.$list.css('display', 'none');
  224. }
  225. sCombo.prototype.listOff = function($target){
  226. if(!$target.is(this.$select) && this.$selectBox.hasClass('on')){
  227. this.$selectBox.removeClass('on');
  228. this.$list.css('display', 'none');
  229. };
  230. }
  231. this.init(selector);
  232. this.initEvent();
  233. };
  234. // selectBrand on/off
  235. $( document ).ready( function() {
  236. $("#selectBrand .brandbox input").on("click", function() {
  237. $("#selectBrand .brandbox input").removeClass("on");
  238. $(this).addClass("on");
  239. });
  240. });
  241. // dropDownMenu
  242. $(document).on('click','.tgl_dropdown',function(e){
  243. $(this).next('.dropdown_menu').slideToggle(300);
  244. $(this).toggleClass('on');
  245. return false;
  246. });
  247. /* alert */
  248. $(function(){
  249. $('.alertCls').click(function(){
  250. setTimeout(function(){
  251. $('.alert').css('animation', 'none');
  252. $('.alert').css('display', 'none');
  253. }, 300);
  254. // uifn_currCallback();
  255. });
  256. });
  257. /* * * * * * * * * * * * * * * * * * * * * * *
  258. 4. Custom (라이브러리 커스텀)
  259. * * * * * * * * * * * * * * * * * * * * * */
  260. $( document ).ready(function() {
  261. //datepicker
  262. $.datepicker.regional['kr'] = {
  263. dateFormat: 'yy-mm-dd' // 날짜 포맷 설정
  264. };
  265. $.datepicker.setDefaults($.datepicker.regional['kr']);
  266. });
  267. /* * * * * * * * * * * * * * * * * * * * * * *
  268. 5. Content (컨텐츠)
  269. * * * * * * * * * * * * * * * * * * * * * */
  270. $(document).ready( function() {
  271. $(function(){
  272. if($(".content").hasClass("dp_hotdeal") || $(".content").hasClass("dp_Bulletship")){
  273. $('.container').closest('div').addClass('omitt');
  274. }
  275. });
  276. //통합검색 - 레이어 열고닫기
  277. $(document).on('click','.common_header .search .promotion_search, .common_header .search .btn_open_search',function(e){
  278. $('body').addClass('lock');
  279. $("#header .common_search").addClass('active');
  280. return false;
  281. }).on('click','.common_search .btn_close_search',function(e){
  282. $("#header .common_search").removeClass('active');
  283. $('body').removeClass('lock');
  284. return false;
  285. });
  286. //브랜드 통합검색 - 레이어 열고닫기
  287. $(document).on('click','.common_header.br_header .search .promotion_search, .common_header.br_header .search .btn_open_search',function(e){
  288. $('body').addClass('lock');
  289. $("#br_header .common_search.schBrand").addClass('active');
  290. return false;
  291. }).on('click','.common_search .btn_close_search',function(e){
  292. $("#br_header .common_search.schBrand").removeClass('active');
  293. $('body').removeClass('lock');
  294. return false;
  295. });
  296. //통합검색 - 검색어 입력 시
  297. $(document).on('keyup','.common_search .area_input input',function(e){
  298. var searchValue = $(this).val();
  299. if(searchValue.length > 0) {
  300. $('.common_search .area_result .default_box').hide();
  301. $('.common_search .area_result .searching_box').show();
  302. } else if (searchValue.length == 0) {
  303. $('.common_search .area_result .searching_box').hide();
  304. $('.common_search .area_result .default_box').show();
  305. }
  306. });
  307. //통합검색 - 슬라이드 컨트롤러 > 지금 고객님들이 많이 보고 있어요
  308. $(document).on('click','.common_search .realtime_slider .btn_pause',function(e){
  309. realtimeItemSwiper.autoplay.stop();
  310. $(this).hide();
  311. $('.common_search .realtime_slider .btn_play').show();
  312. }).on('click','.common_search .realtime_slider .btn_play',function(e){
  313. realtimeItemSwiper.autoplay.start();
  314. $(this).hide();
  315. $('.common_search .realtime_slider .btn_pause').show();
  316. });
  317. /* 고객센터_accordion */
  318. $(document).on('click','.cs .foldGroup .fold_head',function(e){
  319. $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
  320. $(this).toggleClass('on');
  321. return false;
  322. });
  323. /* 주문결제_accordion */
  324. $(document).on('click','.od .foldGroup .fold_head .fold_tit',function(e){
  325. $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
  326. $(this).parents('.fold_head').toggleClass('on');
  327. return false;
  328. }).on('click','.od .foldGroup .fold_paymethod .fold_head .fold_tit',function(e){
  329. $("#rdi-paymethod-quick").trigger("click");
  330. return false;
  331. });
  332. /* 아이디/비밀번호 찾기_accordion:open */
  333. $(document).on('click','.mb .foldGroup.checkcase .fold_head',function(e){
  334. $(this).parents('.foldGroup li').find('.fold_cont').slideDown(100);
  335. $(this).addClass('on');
  336. $('.foldGroup.checkcase .fold_head').not(this).removeClass('on').next('.fold_cont').slideUp(100);
  337. return false;
  338. });
  339. /* 아이디/비밀번호 찾기_accordion:close */
  340. $(document).on('click','.mb .foldGroup.checkcase .fold_head.on',function(e){
  341. $(this).removeClass('on');
  342. $(this).next('.fold_cont').slideUp(100);
  343. return false;
  344. });
  345. /* 아이디/비밀번호 찾기_taps */
  346. $(document).on('click','.registration_nav ul li',function(e){
  347. $('.foldGroup.checkcase .fold_head').removeClass('on').next('.fold_cont').hide();
  348. $(this).addClass('active').siblings().removeClass('active');
  349. $('.registration_tap .form_group').hide();
  350. $('.registration_tap .form_group').eq($(this).index()).show();
  351. return false;
  352. });
  353. /* 전시 팝업 샘플팝업1 : 수정예정 */
  354. $(document).on('click','#coupon_pop',function(e){
  355. $("#coupon_modal_01").modal("show");
  356. return false;
  357. });
  358. /* 전시 팝업 샘플팝업2 : 수정예정 */
  359. $(document).on('click','#coupon_pop2',function(e){
  360. $("#coupon_modal_02").modal("show");
  361. return false;
  362. });
  363. /* 같은 데이터 노출시 동일 영역끼리 병합 */
  364. $(".merge_row").each(function() {
  365. var txtcont = $(this).text();
  366. var rows = $(this).parents("table").find(".merge_row:contains('" + txtcont + "')");
  367. if (rows.length > 1) {
  368. rows.eq(0).attr("rowspan", rows.length);
  369. rows.not(":eq(0)").remove();
  370. }
  371. rows.eq(0).parent('tr').attr('class', 'bundle_row');
  372. });
  373. /* 드래그 스크롤 : 수정 예정 */
  374. var x,left,down;
  375. $(".bullet_sticky_nav ul").mousedown(function(e){
  376. e.preventDefault();
  377. down = true;
  378. x = e.pageX;
  379. left = $(this).scrollLeft();
  380. });
  381. $("body").mousemove(function(e){
  382. if(down){
  383. var newX = e.pageX;
  384. $(".bullet_sticky_nav ul").scrollLeft(left - newX + x);
  385. }
  386. });
  387. $("body").mouseup(function(e){down = false;});
  388. /* //드래그 스크롤 : 수정 예정 */
  389. //상품 리스트_필터
  390. $('.filter_list ul li').click(function(){
  391. $(".filter_list ul li").removeClass('on');
  392. $(".dp_list .sort, .sch_result .sort").removeClass('on');
  393. $(this).addClass('on');
  394. $("."+$(this).data('id')).addClass('on');
  395. $('.sort ul li').removeClass('on');
  396. $('.sort ul li div').hide();
  397. $('.container .dp_list .fillter, .container .sch_result .fillter').show();
  398. });
  399. // 카테고리
  400. $('.tap_close').click(function(){
  401. $(this).parent().removeClass('on');
  402. $('.filter_content .sort ul li div').hide();
  403. $('.filter_content .sort ul li, .container .filter_list ul li').removeClass('on');
  404. $('.container .dp_list .sort, .container .sch_result .sort').removeClass('on');
  405. });
  406. });
  407. /* * * * * * * * * * * * * * * * * * * * * * *
  408. 6. Content (상품상세)
  409. * * * * * * * * * * * * * * * * * * * * * */
  410. $(document).ready( function() {
  411. //팝업 - 상품썸네일 크게보기
  412. $(document).on('click','.pd_detail .area_pic .thumb_list_wrap ul li',function(e){
  413. $('body').addClass('lock');
  414. $("#pdItemThumbPop .full_pop_container").empty();
  415. var thumbIndex = $(this).index() + 1;
  416. var thumbImglength = $('.pd_detail .area_pic .thumb_list_wrap ul li').length;
  417. var popThumbImgHtml = "";
  418. for (i = 1; i <= thumbImglength; i++) {
  419. //var thumbImg = $(this).find('img');
  420. var thumbContentHtml = $('.pd_detail .area_pic .thumb_list_wrap ul li:nth-child('+i+') a .thumb').html();
  421. popThumbImgHtml += "<div id=popThumb"+i+" class='scaleview'>" + thumbContentHtml + "</div>";
  422. }
  423. $("#pdItemThumbPop .full_pop_container").append(popThumbImgHtml);
  424. $("#pdItemThumbPop").show();
  425. var scrollThumbPop = $('#popThumb'+thumbIndex).offset().top;
  426. var currentTop = $(window).scrollTop();
  427. $('#pdItemThumbPop').animate({scrollTop : scrollThumbPop - currentTop}, 1000);
  428. return false;
  429. }).on('click','#btn_close_itemThumbPop, .pd_itemthumb_pop .scaleview img',function(e){
  430. $("#pdItemThumbPop").scrollTop(0);
  431. $("#pdItemThumbPop").hide();
  432. $('body').removeClass('lock');
  433. return false;
  434. });
  435. // 상품 대표설명 > 좌측 상품썸네일 navi, 우측 상품정보 고정
  436. $(window).scroll(function(){
  437. var scrollTop= $(window).scrollTop();
  438. var headerH = $('#header .hd_top_banner').outerHeight() + $('#header .area').outerHeight();
  439. var miniGnbH = $('#header.minify .gnb').outerHeight();
  440. var firstFixed = headerH + miniGnbH;
  441. var thumbListWrap_h = $('.pd_detail .thumb_list_wrap').outerHeight();
  442. var descWrap_h = $('.pd_detail .desc_wrap').outerHeight();
  443. var secondFixed_left = firstFixed + $('.pd_detail').outerHeight() - $('.pd_detail .thumb_nav_wrap').outerHeight();
  444. var secondFixed_right = firstFixed + $('.pd_detail .desc_wrap').outerHeight() - $(window).outerHeight();
  445. var secondFixed_right2 = firstFixed + $('.pd_detail').outerHeight() - $(window).outerHeight();
  446. var pdDetail_t = firstFixed + $('.pd_detail').outerHeight() + 100;
  447. var pdDescWrap_t = pdDetail_t + $('.pd_desc_wrap').outerHeight();
  448. var optionFixed_right = pdDetail_t + $('.pd_desc_wrap').outerHeight() - $('.area_option .opt_wrap').outerHeight();
  449. /* 좌측 상품썸네일 navi 고정 */
  450. if (scrollTop > firstFixed){
  451. $('.pd_detail .area_pic .thumb_nav_wrap').removeClass('fixbottom').addClass('fixtop');
  452. }
  453. else if (scrollTop < firstFixed){
  454. $('.pd_detail .area_pic .thumb_nav_wrap').removeClass('fixtop');
  455. }
  456. if (scrollTop > secondFixed_left){
  457. $('.pd_detail .area_pic .thumb_nav_wrap').removeClass('fixtop').addClass('fixbottom');
  458. }
  459. /* 우측 상품정보 고정 */
  460. if (thumbListWrap_h > descWrap_h && scrollTop > secondFixed_right) {
  461. $('.pd_detail .area_desc .desc_wrap').removeClass('absbottom').addClass('fixbottom');
  462. }
  463. else if (thumbListWrap_h > descWrap_h && scrollTop < secondFixed_right) {
  464. $('.pd_detail .area_desc .desc_wrap').removeClass('fixbottom');
  465. }
  466. if (thumbListWrap_h > descWrap_h && scrollTop > secondFixed_right2) {
  467. $('.pd_detail .area_desc .desc_wrap').removeClass('fixbottom').addClass('absbottom');
  468. }
  469. /* 딜 - 상세정보 탭 고정 */
  470. if (scrollTop > pdDetail_t && scrollTop < pdDescWrap_t){
  471. $('.tab_detail_nav').addClass('fix');
  472. } else {
  473. $('.tab_detail_nav').removeClass('fix');
  474. }
  475. /* 딜 - 우측옵션 고정 */
  476. if (scrollTop > pdDetail_t){
  477. $('.area_option .opt_wrap').removeClass('absbottom').addClass('fixtop');
  478. } else if (scrollTop < pdDetail_t) {
  479. $('.area_option .opt_wrap').removeClass('fixtop');
  480. }
  481. if (scrollTop > optionFixed_right){
  482. $('.area_option .opt_wrap').removeClass('fixtop').addClass('absbottom');
  483. }
  484. });
  485. //슬라이드 - 상품 대표설명 > 좌측 상품썸네일 navi
  486. var thumbNavSwiper = new Swiper('.pd_detail .area_pic .thumb_nav_wrap .swiper-container', {
  487. direction: 'vertical',
  488. allowTouchMove: false,
  489. slidesPerView: 6,
  490. slidesPerGroup : 6,
  491. spaceBetween: 10,
  492. navigation: {
  493. nextEl: '.area_pic .thumb_nav_wrap .swiper-button-next',
  494. prevEl: '.area_pic .thumb_nav_wrap .swiper-button-prev',
  495. },
  496. });
  497. //상품 대표설명 > 상품썸네일 1개일때
  498. var thumblist = $('.pd_detail .area_pic .thumb_list_wrap li');
  499. var thumblistLength = thumblist.length;
  500. if (thumblistLength == 1) {
  501. thumblist.parents('.area_pic').addClass('onlyitem');
  502. } else {
  503. thumblist.parents('.area_pic').removeClass('onlyitem');
  504. }
  505. //상품 대표설명 > 좌측 상품썸네일 6개 이하일때
  506. var thumbnavSlide = $('.pd_detail .area_pic .thumb_nav_wrap .swiper-container .swiper-slide');
  507. var thumbnavLength = thumbnavSlide.length;
  508. if (thumbnavLength < 7) {
  509. thumbnavSlide.parents('.thumbnav').addClass('disabled');
  510. } else {
  511. thumbnavSlide.parents('.thumbnav').removeClass('disabled');
  512. }
  513. //상품 대표설명 > 좌측 상품썸네일 navi 선택시 해당 대표 썸네일 위치로 이동
  514. $(document).on('click','.pd_detail .area_pic .thumbnav .swiper-slide a',function(e){
  515. e.preventDefault();
  516. var hdHeight = $('#header').outerHeight();
  517. var targetThumb = $($(this).attr('href'));
  518. var topThumb = targetThumb.offset().top - hdHeight;
  519. $(this).parents('.thumbnav').find('.swiper-slide').removeClass('on');
  520. $(this).parent('.swiper-slide').addClass('on');
  521. targetThumb.siblings('li').removeClass('on');
  522. targetThumb.addClass('on');
  523. $('html,body').animate({scrollTop : topThumb}, 500);
  524. return false;
  525. });
  526. /* 상품상세 > 상품문의 _accordion */
  527. $(document).on('click','.pd_qnalist .foldGroup .fold_head',function(e){
  528. if($(this).parent().hasClass('secret_qna')){
  529. alert('비밀글은 열람하실 수 없습니다.');
  530. }else {
  531. $(this).parents('.foldGroup li').find('.fold_cont').slideToggle(100);
  532. $(this).toggleClass('on');
  533. }
  534. });
  535. });
  536. ///////////////////////////////////////////////////////
  537. // 이하 미사용 스크립트 정리예정
  538. //$( document ).ready(function() {
  539. // var footerH = $("#footer").outerHeight();
  540. // var fixedH = $(".fixed_btns").outerHeight();
  541. // var limitH = ((footerH+fixedH)-8);
  542. // uifn_bottomfloat($(".fixed_btns"), footerH);
  543. // $(window).on('scroll', function(){
  544. // uifn_bottomfloat($(".fixed_btns"), footerH);
  545. // });
  546. // uifn_popupCtr();
  547. // uifn_familyCtr();
  548. // //popup
  549. // function uifn_popupCtr() {
  550. // var popupArea = $(".popup-area");
  551. // if(popupArea.css('display') == 'block'){
  552. // popupArea.show();
  553. // document.body.classList.add("stop-scroll");
  554. // };
  555. // popupArea.find(".close").click(function(){
  556. // popupArea.css('display','none');
  557. // document.body.classList.remove("stop-scroll");
  558. // });
  559. // };
  560. // // family site
  561. // function uifn_familyCtr(){
  562. // $('.family-area').click(function(e){
  563. // $('.family-area').toggleClass('on');
  564. // });
  565. // }
  566. // // scrollTop
  567. // function uifn_bottomfloat(object, num) {
  568. // var bottom = $(document).height() - $(window).height() - $(document).scrollTop();
  569. // if (bottom > num) {
  570. // object.removeClass("off");
  571. // } else if (bottom <= num) {
  572. // object.addClass("off");
  573. // } else {
  574. // object.removeClass("off");
  575. // }
  576. // }
  577. //});