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 : '/os/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 : '/os/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 : '/os/products/ajax/common/ajax_add_prod_inform.php', //ajax網址 //wishList loveButton: 'love', //列表加入喜愛清單 wishButton: 'wishButton', //加入喜愛清單按鈕的class wishUrl : '/os/products/ajax/common/ajax_add_wish_list.php', //ajax網址 //設定圖片 mobileUrl : '/os/products/ajax/detail/productView_moblie.php', //ajax手機網址 pcUrl : '/os/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:"/os/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:"/os/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 = '/os/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 = '/os/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/os//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 += '