var prod_file = function(option){ var sets = { //類型 type : '1', //1->列表,2->詳細頁,3->活動詳細頁 action : 'poducts', //頁面類型 mode : '', //PreVice時為預覽模式 //商品內容 contBox : 'content', //總容器的class itemBox : 'productBox', //商品容器的class nameBox : 'nameBox', //商品名稱的class prodnoBox : 'prodnoBox', //商品編號的class loveBox : 'love', //喜愛清單的class price2Box : 'font-delete', //定價的class price1Box : 'font-big', //結帳價的class priceBlock: 'priceBlock', //結帳價的block ActPeriod : 'ActPeriod', rbonusBox : 'price-rbonus', //紅利兌換的class bonusBox : 'get_bonus', //購物金的class colorBox : 'colorbox', //顏色的class colorSelect: 'color-select', //顏色下拉的class colorName : 'Spec_Name1', //顏色名稱的class sizeBox : 'sizebox', //尺寸-按鈕的class sizeSelect: 'size-select', //尺寸-下拉的class sizeName : 'Spec_Name2', //尺寸名稱的class sp3Box : 'sp3box', //規格三-按鈕的class sp3Select : 'sp3-select', //規格三-下拉的class sp3Name : 'Spec_Name3', //規格三名稱的class numBlock : 'amountBlock', //數量的區塊 amountBox : 'amountBox', //數量的class stockBox : 'stockBox', //庫存的class picpathBox: 'productImg', //主圖片的class picBox : 'owl-carousel', //圖片容器的class specClass : 'box-item', //規格 -按鈕的class specID2 : 'SID', //規格 -要傳送的標籤屬性 specUrl : '/gl/products/ajax/common/ajax_get_prod_item.php', //規格 -ajax網址 sale_msg :'sale_msg', //規格的特惠訊息 Wear_Report :'Wear_Report', //試穿報告 ActStrBox :'sale', //規格活動字串 PreDataBox :'Pre_Data', //是不是預購品和預購到貨時間顯示 //加入購物車 addButton : 'add_to_cart', //加入購物車按鈕的class addButtonIn: 'add_to_cart_In', //直接購買按鈕的class addUrl : '/gl/ajax/ajax_add_to_cart.php', //加入購物車網址 addBox : 'Add_Button', //加入購物車按鈕的容器 addBoxIn : 'Add_Button_In', //直接購買的容器 ordButton : 'button1', //選購按鈕(行銷) //貨到通知 informBtn : 'informButton', //貨到通知按鈕的class informSend: 'informSend', //送出按鈕的ID informID : 'informID', //存ID欄位的ID informEmail: 'informEmail', //Email欄位的ID informClose: 'informClose', //關閉按鈕的ID informUrl : '/gl/products/ajax/common/ajax_add_prod_inform.php', //ajax網址 //wishList loveButton: 'love', //列表加入喜愛清單 wishButton: 'wishButton', //加入喜愛清單按鈕的class wishUrl : '/gl/products/ajax/common/ajax_add_wish_list.php', //ajax網址 //設定圖片 mobileUrl : '/gl/products/ajax/detail/productView_moblie.php', //ajax手機網址 pcUrl : '/gl/products/ajax/detail/productView_pc.php' //ajax桌機網址 }; $.extend(sets, option); var _this = this; if(sets.type == 1 || $(window).width() <= 768){ _this.item_num = 1; }else{ _this.item_num = 5; } //初始 this.init = function(){ //點選規格 $("."+sets.contBox).on('click',"."+sets.specClass,function(){ var _item = $(this).parents("."+sets.itemBox), SID = $(this).attr(sets.specID2), $this = $(this), ActID = $(this).data('aid'), Mark = $(this).data('mark'); //列表切換用 _item.find("."+sets.specClass).removeClass('in-focus'); $(this).addClass('in-focus'); if(SID){ $.ajax({ url:sets.specUrl, type:"POST", cache:false, async:false, data:{Type:sets.type,SID:SID,ActID:ActID,Mark:Mark,mode:sets.mode}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ // console.log(d) _this.setFile(_item,$this,d); } }); } }); //尺寸下拉選單 $("."+sets.contBox).on('change',"."+sets.colorSelect+",."+sets.sizeSelect+",."+sets.sp3Select,function(){ var _item = $(this).parents("."+sets.itemBox), SID = $(this).val(), $this = $(this), ActID = $(this).data('aid'), Mark = $(this).data('mark'); if(SID){ $.ajax({ url:sets.specUrl, type:"POST", cache:false, async:false, data:{Type:sets.type,SID:SID,ActID:ActID,Mark:Mark,mode:sets.mode}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ _this.setFile(_item,$this,d); } }); } }); //加入購物車按鈕 $("."+sets.contBox).on("click","."+sets.addButton,function(){ var _item = $(this).parents("."+sets.itemBox), SID = $(this).attr('sid') || 0, num = _item.find("."+sets.amountBox).val() || 0; if(SID == 0){ alert(_jsLang.請選擇尺寸或規格); //errorbox(); }else if(num ==0){ alert(_jsLang.請選擇數量); //errorbox(); }else{ $.ajax({ url:sets.addUrl, type:"POST", cache:false, async:false, data:{SID:SID, num:num, webcacheno:$('#webcacheno').val()}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ if(d.Pre_Flag==1){ if(d.Stock<=5)_item.find("."+sets.stockBox).html(_jsLang.預購品); }else{ if(d.Stock > 0 && d.Stock<=5)_item.find("."+sets.stockBox).html(_jsLang.庫存+' : '+d.Stock); } if(d.Amount && d.Amount != 'null')_item.find("."+sets.amountBox).html(d.Amount); // $("#Shop_Cart_Total>.num").html("("+d.Total+")"); $("#Show_Shopcart_Total").html(d.Total); if(d.Alert != 'OK'){ alert(d.Alert); } _this.setCartOther(); if(d.Alert == 'OK'){ if(d.FBQ){eval(d.FBQ)} if(d.GA && typeof ga == 'function') { for(var key in d.GA) { ga('ec:addProduct',d.GA[key]); } ga('ec:setAction','add'); ga('send','event','購物車','加入購物車'); } if(d.GA4 && typeof gtag == 'function') { gtag("event","add_to_cart",{ "items":d.GA4 }); } $.ajax({ url:"/gl/ajax/ajax_get_cart.php", type:"POST", async:false, cache:false, data:{Type:'Prod',ID:SID}, success:function(d){ //$(".shopping-cartbox").css('display','none'); $("#Header_Shopcart").html(d); $("#Header_Shopcart").parent(".shopping-cartbox").animate({'opacity':1,'maxHeight':'999px'}).css('z-index','100'); setTimeout(function(){ $("#Header_Shopcart").parent(".shopping-cartbox").animate({'maxHeight':'0px','opacity':0},function(){ $(this).removeAttr('style'); $(".shopping-cartbox").removeAttr('style'); }); },3000); } }) } } }); } }); //直接購物按鈕 $("."+sets.contBox).on("click","."+sets.addButtonIn,function(){ var _item = $(this).parents("."+sets.itemBox), SID = $(this).attr('sid') || 0, num = _item.find("."+sets.amountBox).val() || 0; if(SID == 0){ alert(_jsLang.請選擇尺寸或規格); //errorbox(); }else if(num ==0){ alert(_jsLang.請選擇數量); //errorbox(); }else{ $.ajax({ url:sets.addUrl, type:"POST", cache:false, async:false, data:{SID:SID, num:num, webcacheno:$('#webcacheno').val()}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ if(d.Pre_Flag==1){ if(d.Stock<=5)_item.find("."+sets.stockBox).html(_jsLang.預購品); }else{ if(d.Stock > 0 && d.Stock<=5)_item.find("."+sets.stockBox).html(_jsLang.庫存+' : '+d.Stock); } if(d.Amount && d.Amount != 'null')_item.find("."+sets.amountBox).html(d.Amount); // $("#Shop_Cart_Total>.num").html("("+d.Total+")"); $("#Show_Shopcart_Total").html(d.Total); if(d.Alert != 'OK'){ alert(d.Alert); } _this.setCartOther(); if(d.Alert == 'OK'){ if(d.GA4 && typeof gtag == 'function') { gtag("event","add_to_cart",{ "items":d.GA4 }); } if(d.FBQ){eval(d.FBQ)} $.ajax({ url:"/gl/ajax/ajax_get_cart.php", type:"POST", async:false, cache:false, data:{Type:'Prod',ID:SID}, success:function(d){ //$(".shopping-cartbox").css('display','none'); $("#Header_Shopcart").html(d); $("#Header_Shopcart").parent(".shopping-cartbox").animate({'opacity':1,'maxHeight':'999px'}).css('z-index','100'); setTimeout(function(){ $("#Header_Shopcart").parent(".shopping-cartbox").animate({'maxHeight':'0px','opacity':0},function(){ $(this).removeAttr('style'); $(".shopping-cartbox").removeAttr('style'); }); },3000); } }) } window.location.href = '/gl/shopcart/'; } }); } }); //貨到通知按鈕 $("."+sets.contBox).on("click","."+sets.informBtn,function(){ $("#"+sets.informID).val($(this).attr('SID')); }); $("#"+sets.informSend).click(function(){ $.ajax({ url:sets.informUrl, type:"POST", cache:false, async:false, data:{SID:$("#"+sets.informID).val(),email:$("#"+sets.informEmail).val()}, error:function(d){ alert(d.responseText); }, success:function(d){ if(d=='OK'){ alert(_jsLang.您已成功新增一筆貨到通知當商品有貨時我們會儘快通知您); }else{ alert(_jsLang.資料庫忙線中); } $("#"+sets.informClose).trigger("click"); } }); }); //列表增加wishList $("."+sets.contBox).on("click","."+sets.loveButton,function(){ var $this = $(this), _item = $(this).parents("."+sets.itemBox), SID = _item.find('.'+sets.loveBox).attr('sid'), type = 'del'; if($this.attr("class").match('fa-heart-o')){ type = 'add'; } $.ajax({ url:sets.wishUrl, type:"POST", cache:false, async:false, data:{Type:type,SID:SID}, dataType: 'json', error:function(d){ alert('網路連線過慢,網頁請重新整理'); }, success:function(d){ if(d.Msg=='OK'){ if(type == 'add'){ if(d.FBQ){eval(d.FBQ)} $this.removeClass("fa-heart-o"); $this.addClass("fa-heart"); }else{ $this.removeClass("fa-heart"); $this.addClass("fa-heart-o"); } if(d.GA4 && typeof gtag == 'function') { gtag("event","add_to_wishlist",{ "items":d.GA4 }); } }else if(d.Msg == 'NO_MEMBER'){ alert(_jsLang.請先登入會員); }else{ alert(_jsLang.資料庫忙線中); } } }); }); //wishList $("."+sets.contBox).on("click","."+sets.wishButton,function(){ var $this = $(this), SID = $this.attr('SID'), type = 'del'; if($this.find("i").attr("class").match('fa-heart-o')){ type = 'add'; } $.ajax({ url:sets.wishUrl, type:"POST", cache:false, async:false, data:{Type:type,SID:SID}, dataType: 'json', error:function(d){ alert('網路連線過慢,網頁請重新整理'); }, success:function(d){ if(d.Msg=='OK'){ if(type == 'add'){ if(d.FBQ){eval(d.FBQ)} $this.find("i").removeClass("fa-heart-o"); $this.find("i").addClass("fa-heart"); }else{ $this.find("i").removeClass("fa-heart"); $this.find("i").addClass("fa-heart-o"); } if(d.GA4 && typeof gtag == 'function') { gtag("event","add_to_wishlist",{ "items":d.GA4 }); } }else if(d == 'NO_MEMBER'){ alert(_jsLang.請先登入會員); }else{ alert(_jsLang.資料庫忙線中); } } }); }); //圖片輪播 if($("."+sets.picBox+" .picitem ").length > 5){ $("."+sets.picBox).addClass('owl-carousel').owlCarousel({ loop : false, items : _this.item_num, nav : true, navText:["",""], }); } }; //設定內容 this.setFile= function(_item,$this,d){ _item.find("."+sets.loveBox).removeClass("fa-heart,fa-heart-o"); if(d.ID)_item.find("."+sets.ordButton).attr("sid",d.ID); if(d.ID)_item.find("."+sets.loveBox).attr("sid",d.ID); if(d.Name)_item.find("."+sets.nameBox).html(d.Name); if(d.Pos_No)_item.find("."+sets.prodnoBox).html(d.Pos_No); if(d.Love)_item.find("."+sets.loveBox).addClass(d.Love); if(d.Price1){ var tempStr = _item.find("."+sets.price1Box).html(); var tempStrArr = tempStr.split(""); var tempHtmlStr = ''; for(var i in tempStrArr){ if(!$.isNumeric(tempStrArr[i]) && tempStrArr[i] != ',' && tempStrArr[i] != '.'){ tempHtmlStr = tempHtmlStr + tempStrArr[i]; } } tempHtmlStr = tempHtmlStr + d.Price1; _item.find("."+sets.price1Box).html(tempHtmlStr); _item.find("."+sets.priceBlock).show(); }else{ _item.find("."+sets.priceBlock).hide(); } if(d.ActPeriod){ _item.find("."+sets.ActPeriod).show(); }else{ _item.find("."+sets.ActPeriod).hide(); } if(d.Price2){ _item.find("."+sets.price2Box).html(d.Price2).show(); }else{ _item.find("."+sets.price2Box).hide(); } if(d.Img_Url)_item.find(".productImg").attr('href',d.Img_Url); if(d.RBonus)_item.find("."+sets.rbonusBox).html(d.RBonus); if(d.Get_Bonus)_item.find("."+sets.bonusBox).html(d.Get_Bonus); if(d.Color)_item.find("."+sets.colorBox).html(d.Color); if(d.Color_Name)_item.find("."+sets.colorName).html(d.Color_Name); _item.find("."+sets.PreDataBox).html(d.Pre_Data); _item.find("."+sets.sale_msg).html(d.sale_msg); _item.find("."+sets.Wear_Report).html(d.Wear_Report); if(d.Stock){ _item.find("."+sets.stockBox).html(_jsLang.庫存+' : '+d.Stock); }else{ _item.find("."+sets.stockBox).html(''); } if(d.Act_Str){ _item.find("."+sets.ActStrBox).replaceWith(d.Act_Str); }else{ _item.find("."+sets.ActStrBox).hide(); } if(sets.type == 3){ if(d.Size_Sel)$this.next("."+sets.sizeSelect).html(d.Size_Sel); if(d.SP3_Sel)$this.nextAll("."+sets.sp3Select).eq(0).html(d.SP3_Sel); if(d.Amount) if(d.Amount){ $this.nextAll("."+sets.numBlock).eq(0).show(); $this.nextAll("."+sets.amountBox).eq(0).html(d.Amount); }else{ $this.nextAll("."+sets.numBlock).eq(0).hide(); $this.nextAll("."+sets.amountBox).eq(0).html(''); } $this.nextAll("."+sets.amountBox).eq(0).trigger('change'); }else{ if(d.Size_Button)_item.find("."+sets.sizeBox).html(d.Size_Button); if(d.Size_Sel)_item.find("."+sets.sizeSelect).html(d.Size_Sel); if(d.Size_Name)_item.find("."+sets.sizeName).html(d.Size_Name); if(d.SP3_Button)_item.find("."+sets.sp3Box).html(d.SP3_Button); if(d.SP3_Sel)_item.find("."+sets.sp3Select).html(d.SP3_Sel); if(d.SP3_Name)_item.find("."+sets.sp3Name).html(d.SP3_Name); if(d.Amount){ _item.find("."+sets.numBlock).show(); _item.find("."+sets.amountBox).html(d.Amount); }else{ _item.find("."+sets.numBlock).hide(); _item.find("."+sets.amountBox).html(''); } } if(sets.type == 2){ $("."+sets.contBox).find("."+sets.wishButton).attr("sid",d.ID); $("."+sets.contBox).find("."+sets.wishButton).find("i").removeClass("fa-heart fa-heart-o"); $("."+sets.contBox).find("."+sets.wishButton).find("i").addClass(d.Love); if(d.Serial_No){ var new_url = '/gl/product-detail/'+d.Serial_No; if(sets.mode){ new_url += '?mode='+sets.mode; } window.history.replaceState({id:d.ID},d.Name,new_url); } if(sets.mode) if(d.Community)$(".followbox").html(d.Community); } for($i=1;$i<=3;$i++){ var NewButton = d.Button[$i] || ''; _item.find("."+sets.addBox+$i).html(NewButton); } _item.find("."+sets.addBoxIn).html(d.Button2); _this.setImg(_item,d.Pic_Path,d.Pic,d.Video,d.Pic_Big,d.Pic_Big_Path,d.Pic11); _this.setFileOther(_item,d); } //變更內容自訂Function this.setFileOther = function(){ } //加入購物車後自訂Function this.setCartOther = function(){ } //設定圖片、影片 this.setImg = function(_item,Pic_Path,Pic,Video,Pic_Big,Pic_Big_Path,Pic11){ //手機 if($(window).width() <=768){ //列表 if(sets.type == 1){ _item.find("."+sets.picpathBox).css("background-image","url('https://cdn-ll-porter.fonlego.com/gl//upload_files/fonlego-rwd/prodpic/"+Pic11+"')"); _item.find("."+sets.picpathBox).html(''); } //詳細頁 else{ _this.item_num = 1; var _Pic_Big = (Pic_Big_Path+','+Pic_Big).split(','); var _Pic = (Pic_Path+','+Pic).split(','), $_Pic1 = '', $_Pic2 = '', $_Pic3 = '', now_class= 'now ', zoom_calss = 'zoom-box '; for($i=0;$i<_Pic.length;$i++){ var $now =($i==0)?now_class:''; var $zoom =(_Pic_Big[$i] && _Pic_Big[$i] != 'null')?zoom_calss:''; if(_Pic[$i]){ _Pic_Big[$i] = (_Pic_Big[$i])?_Pic_Big[$i]:_Pic[$i]; $_Pic1 += '
'; $_Pic1 += '
'; $_Pic1 += ''; $_Pic1 += '
'; $_Pic1 += '
'; $_Pic2 += ''; $_Pic3 += ''; } } if(Video){ $_Pic1 += '
'; $_Pic1 += ''; $_Pic1 += '
'; } const $picpathBox = _item.find("."+sets.picpathBox) $picpathBox.each(function(i, ele) { $(ele).trigger('destroy.owl.carousel').removeClass('owl-carousel').off().html($_Pic1) if($(ele).children().length >= _this.item_num) { $(ele).addClass('owl-carousel').owlCarousel({ loop : false, items : _this.item_num, nav : true, navText:["",""], }); $(ele).on('changed.owl.carousel',function(e){ var num = e.item.index; if(document.getElementById("Video")){ if($(".productView").find(".owl-item").eq(num).find("#Video").attr("class")){ $("#big_picture").hide(); document.getElementById("Video").play(); }else{ $("#big_picture").show(); document.getElementById("Video").pause(); } } }); } }) $(".previewbox").html($_Pic3+''); if($('.owl-item.active > .zoonbox').hasClass('zoom-box')){ $('#big_picture').removeClass('hidden'); $('#big_picture').show(); $('#big_picture + .previewBox').show(); } else { $('#big_picture').addClass('hidden'); $('#big_picture').hide(); $('#big_picture + .previewBox').hide(); } } } //PC、平板 else{ //列表 if(sets.type == 1){ var _Pic = (Pic_Path+','+Pic).split(','), $Pic = '', now_class= '', Pic_Size = 'L', $loop = true; _item.find("."+sets.picpathBox).css("background-image","url('https://cdn-ll-porter.fonlego.com/gl//upload_files/fonlego-rwd/prodpic/"+Pic11+"')"); _item.find("."+sets.picpathBox).html(''); //設定輪播圖 for($i=0;$i<_Pic.length;$i++){ now_class =($i==0)?'now':''; if(_Pic[$i]){ $Pic += ''; } } if(Video && sets.type != 1){ $Pic += '
'; } _item.find("."+sets.picBox).html($Pic); if($("."+sets.picBox+" .picitem ").length > _this.item_num){ _item.find("."+sets.picBox) .trigger('destroy.owl.carousel').removeClass('owl-carousel') .addClass('owl-carousel').owlCarousel({ loop : $loop, items : _this.item_num, nav : true, navText:["",""], }); } } //詳細頁 else{ _this.item_num = 5; var _Pic_Big = (Pic_Big_Path+','+Pic_Big).split(','); var _Pic = (Pic_Path+','+Pic).split(','), $Pic = '', $Pic_Path = '', now_class= 'now ', Pic_Size = 'S', zoom_calss = 'zoom-box ', $loop = false; // console.log(_Pic) for($i=0;$i<_Pic.length;$i++){ var $now =($i==0)?now_class:''; var $zoom =(_Pic_Big[$i])?zoom_calss:''; _Pic_Big[$i] = (_Pic_Big[$i])?_Pic_Big[$i]:_Pic[$i]; if(_Pic[$i]){ $Pic_Path += '
'; $Pic_Path += '
'; $Pic_Path += ''; $Pic_Path += ''; $Pic_Path += '
'; $Pic_Path += '
'; } } if(Video){ $Pic_Path += '
'; $Pic_Path += ''; $Pic_Path += '
'; } //設定輪播圖 let pic_counter = 0 for($i = 0; $i < _Pic.length; $i++){ now_class =($i==0)?'now':''; if(_Pic[$i]){ _Pic_Big[$i] = (_Pic_Big[$i] && _Pic_Big[$i] != 'null')?_Pic_Big[$i]:_Pic[$i]; $Pic += ''; pic_counter += 1 } } if(Video && sets.type != 1){ $Pic += '
'; } var moreview_owl = $('.moreview'); if(moreview_owl.data('owl.carousel')){ moreview_owl.trigger('destroy.owl.carousel').removeClass('owl-carousel') } moreview_owl.html($Pic) if(pic_counter > _this.item_num){ moreview_owl.addClass('owl-carousel') moreview_owl.owlCarousel({ loop:false, items : _this.item_num, nav : true, navText:["",""] }); }else{ moreview_owl.html($Pic).removeClass('owl-carousel'); $(".moreview .picitem ").css('width','20%'); } let productImg = $('.productImg') if(productImg.data('owl.carousel')){ productImg.trigger('destroy.owl.carousel').removeClass('owl-carousel') } // console.log($Pic_Path) productImg.off().html($Pic_Path) if(productImg.children().length > 1){ productImg.addClass('owl-carousel').owlCarousel({ loop : true, items : 1, nav : true, navText : ['',''], URLhashListener:true, startPosition:'URLHash' }) }else{ $(".productImg").removeClass('owl-carousel') } $('.zoonbox').eq(0).addClass('now').parents('.owl-item').addClass('active'); productImg.on('changed.owl.carousel', function(event) { var con = $('.productImg .cloned').length/2; if(event.item.index>7){ moreview_owl.trigger('next.owl.carousel'); // moreview_owl.trigger('to.owl.carousel',9); }else if(event.item.index<7){ moreview_owl.trigger('to.owl.carousel',4); } $('.moreview .picitem').removeClass('now').eq(event.item.index-con).addClass('now'); }); productImg.on('translate.owl.carousel', function(e){ $('.productView .productImg .owl-item').find('video').each(function(){ $(this).get(0).pause(); }) $('.moreview .video_control').addClass('fa-play').removeClass('fa-pause'); }) productImg.on('translated.owl.carousel', function(e){ if($('.productView .productImg .owl-item.active').find('video').length > 0){ var video = $('.productView .productImg .owl-item.active').find('video').get(0); video.play(); moreview_Video(video) } }) //影片控制 function moreview_Video(e){ if(e.paused){ $('.moreview .video_control').addClass('fa-play').removeClass('fa-pause'); }else{ $('.moreview .video_control').addClass('fa-pause').removeClass('fa-play'); } } } //影片預覽圖 if(document.getElementById("Video")){ document.getElementById("Video").oncanplay=function(){ var video = $("#Video").get(0); var canvas = document.getElementById("video_review"); canvas.getContext('2d').drawImage(video, 0, 0, 66, 92); }; } } } }; var prod_list = function(option){ var sets = { //商品內容 contBox : 'Main_Content', //總容器的ID styleBox : 'stylebox', //樣式下拉選單的ID sizeBox : 'sizebox', //尺寸下拉選單的ID orderBox : 'orderbox', //排序下拉選單的ID morderBox : 'mobile_sort>div', pageBox : 'pagebox', //分頁容器的class pageShow : 'page_show', //顯示分頁資訊的ID pageSelect : 'page-select', //分頁下拉選單的class prevPage : 'prev_page', //手機版上一頁的ID nextPage : 'next_page', //手機版下一頁的ID picBox : 'productSlidebox', //圖片容器的class mainPicBox : 'productImg', //主圖片容器的class searchBox : 'slideBox', //搜尋按鈕容器的class searchBtn : 'search_item', //搜尋按鈕的class searchFocus : 'search_focus', //搜尋按鈕focus的class searchType : 'type', //搜尋按鈕type標籤 searchID : 'search_id', //搜尋按鈕search_id標籤 moneyRange : 'money_range', //篩選價格的class mobileFilter: 'mobile-filter', //手機版行銷篩選器的class urlGetID : 'Url_Get', //塞入get資料的表單ID searchUrl : '/gl/products/ajax/list/ajax_get_prod_list.php',//搜尋ajax網址 cleanSearch : 'cleanButton' //清除篩選Button之ID }; $.extend(sets, option); var _this = this; //初始 this.init = function(){ //篩選按鈕 $("."+sets.searchBtn).on('click',function(){ var $class= ""; $class = ($(this).hasClass(sets.searchFocus))?"":sets.searchFocus; //$(this).parents("."+sets.searchBox).children("."+sets.searchBtn).removeClass(sets.searchFocus); $(this).removeClass(sets.searchFocus); $(this).addClass($class); _this.Search(); }); //每頁幾筆 $('input[name="viewNumder"]').on('click',function(){ _this.Search(); }); //排序 $("#"+sets.orderBox).on('change',function(){ _this.Search(); }); //手機版排序 $('#'+sets.morderBox).on('click',function(){ $('#'+sets.morderBox).removeAttr('click'); $(this).attr('click','true'); _this.Search(); }) //下拉篩選樣式 $("#"+sets.styleBox).on('change',function(){ _this.Search(); }); //下拉篩選尺寸 $("#"+sets.sizeBox).on('change',function(){ _this.Search(); }); //紅綠標 $("input[name='pair_flag']").click(function(){ _this.Search(); }); //手機版行銷篩選 $("."+sets.mobileFilter).on('click',function(){ $("."+sets.mobileFilter+"[type="+$(this).attr("type")+"]").removeClass("now"); $(this).addClass("now"); _this.Search(); }); //分頁 $("."+sets.pageBox).on('click','.page,.page-next',function(){ window.location.hash = $(this).attr("send"); }); //手機版上下頁 $("#"+sets.prevPage+",#"+sets.nextPage).on('click',function(){ if($(this).attr("send")>0){ window.location.hash = $(this).attr("send"); } }); //分頁下拉選單 $("."+sets.pageSelect).change(function(){ window.location.hash = $(this).val(); }); //分頁錨點 var hash = parseInt(window.location.hash.replace('#','')); if(hash > 0){ _this.Search(hash); } window.onhashchange=function(){ var hash = parseInt(window.location.hash.replace('#','')); if(hash > 0){ _this.Search(hash); } } //篩選價格 $('.nstSlider').nstSlider({ "rounding":{ "50":"1000" }, "crossable_handles":false, "left_grip_selector": ".leftGrip", "right_grip_selector": ".rightGrip", "value_bar_selector": ".bar", "highlight": { "grip_class": "gripHighlighted", "panel_selector": ".highlightPanel" }, "user_mouseup_callback": function(leftValue, rightValue) { $('.leftLabel').text(leftValue); $('.rightLabel').text(rightValue); _this.Search(hash,'no'); }, "value_changed_callback": function(cause, leftValue, rightValue) { $('.leftLabel').text(leftValue); $('.rightLabel').text(rightValue); }, }); //清除篩選 $("#"+sets.cleanSearch).on('click',function(){ $("."+sets.searchBtn).removeClass(sets.searchFocus); //篩選按鈕歸零 $('.nstSlider').nstSlider('set_position',0,$('.nstSlider').attr("data-range_max")); $('#'+sets.morderBox).removeAttr('click'); _this.Search(); }); }; //篩選功能 this.Search = function(pageCode,other){ //置頂 if(other != "no"){ $(window).scrollTop(0); } var _str = "", _style = "&style=", _material= "&material=", _beg = "&beg=", _spec1 = "&spec1=", _spec2 = "&spec2=", pageCode = parseInt(pageCode) || 1, _limit = $('input[name="viewNumder"]:checked').val(), $page = ""; //搜尋結果頁無限制筆數功能 所以預設值25 if(_limit == undefined){ _limit = 24; } $(".loading").show(); $("."+sets.searchFocus).each(function(){ switch($(this).attr(sets.searchType)){ case "style": _style += $(this).attr(sets.searchID) +','; break; case "material": _material += $(this).attr(sets.searchID) +','; break; case "beg": _beg += $(this).attr(sets.searchID) +','; break; case "spec1": _spec1 += $(this).attr(sets.searchID) +','; break; case "spec2": _spec2 += $(this).attr(sets.searchID) +','; break; } }); _str += _style+_material+_beg+_spec1+_spec2; $("."+sets.moneyRange).each(function(){ _str += "&"+$(this).attr("id")+"="+$(this).text(); }); if($("#"+sets.orderBox).val()){ _str += "&order="+$("#"+sets.orderBox).val(); } if($("#"+sets.styleBox).val()){ _str += "&style="+$("#"+sets.styleBox).val(); } if($(window).width()<=1024){ //手機版排序 if($('#'+sets.morderBox+'[click="true"]').data('val')){ _str += "&order="+$('#'+sets.morderBox+'[click="true"]').data('val'); } } if($("input[name='pair_flag']:checked").val()){ _str += "&pair="+$("input[name='pair_flag']:checked").val(); } $("."+sets.mobileFilter+".now").each(function(){ _str += "&"+$(this).attr("type")+"="+$(this).attr("val"); }) _str += "&limit="+_limit; _str += "&page="+pageCode; _str += "&mid="+$('#mid').val(); _str += "&lid="+$('#lid').val(); _str += "&cid="+$('#cid').val(); _str += "&sid="+$('#sid').val(); //檢查state記錄 if(!pageCode) { pageCode = window.history.state.page || '1'; } $.ajax({ url:sets.searchUrl, type:"POST", async:false, data:$("#"+sets.urlGetID).val()+_str, error:function(d){ alert(d.responseText); }, success:function(d){ //插入資料 $("#"+sets.contBox).html(d) .find("."+sets.picBox) .addClass('owl-carousel').owlCarousel({ loop : true, items : 1, nav : true, navText:["",""], }); //處理分頁 var Total = $("#Ajax_Total").val(), $start= 0, $end = 0, $Total= Math.ceil(Total/_limit); if(_limit != 99){ //一般分頁 $("."+sets.pageBox).children().css({visibility:''}); $("#"+sets.pageShow).css({visibility:''}); //手機版上一頁 if($Total >1){ $("#"+sets.prevPage).show(); $("#"+sets.prevPage).attr("send",(pageCode-1)); }else{ $("#"+sets.prevPage).hide(); } //手機版下一頁 if(pageCode < $Total){ $("#"+sets.nextPage).show(); $("#"+sets.nextPage).attr("send",(pageCode+1)); }else{ $("#"+sets.nextPage).hide(); } //第一頁 if(pageCode >=4){ $page += '1'; } //上一頁 if(pageCode > 1){ $page += ''+_jsLang.上一頁+'...'; } if(pageCode <3){ var $max = ($Total-1>=4)?4:$Total-1; $start = 1; $end = 1+$max; }else if(pageCode >=($Total-1)){ $min = ($Total-4>0)?4:$Total-1; $start = $Total-$min; $end = $Total; }else{ $start = pageCode-2; $end = pageCode+2; } for($i=$start;$i<=$end;$i++){ var $class = (pageCode == $i)?'now':''; $page += ''+$i+''; } //下一頁 if(pageCode <$Total){ $page += '...'+_jsLang.下一頁+''; } //最後一頁 if(pageCode <=$Total-3){ $page += ''+$Total+''; } window.location.hash = pageCode; $("."+sets.pageBox).html($page); $("#"+sets.pageShow).html('Showing '+((pageCode-1)*_limit+1)+'-'+((Total'+_jsLang.第X頁.replace("%u",$i)+''; } $("."+sets.pageSelect).html($option); //延遲載入 $('.'+sets.mainPicBox+' img').lazyload({ effect : 'fadeIn', failure_limit : 10, placeholder:'https://cdn-ll-porter.fonlego.com/gl//upload_files/fonlego-rwd/images/common/loading.svg', }); //$(window).Scroll_Data.destroy(); }else{ $("."+sets.pageBox).children().css({visibility:'hidden'}); $("#"+sets.pageShow).css({visibility:'hidden'}); $(window).Scroll_Data({ loading_box : "#"+sets.contBox, loading_distance : 100, url : sets.searchUrl, data : $("#"+sets.urlGetID).val()+_str, }); } //$(window).scrollTop(0) var url = $("#Page_Url").val() == undefined ?'':$("#Page_Url").val(); url += '?mode=search'+_str; window.history.replaceState({page:pageCode},'',url); console.log(_str); } }); $(".loading").hide(); } }