var prod_file = function(option){ var sets = { //類型 type : '1', //1->列表,2->詳細頁,3->活動詳細頁 action : 'poducts', //頁面類型 //商品內容 contBox : 'content', //總容器的class itemBox : 'productBox', //商品容器的class nameBox : 'nameBox', //商品名稱的class prodnoBox : 'prodnoBox', //商品編號的class loveBox : 'love', //願望清單的class price2Box : 'font-delete', //定價的class price1Box : 'font-big', //結帳價的class 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 amountBox : 'amountBox', //數量的class stockBox : 'stockBox', //庫存的class picpathBox: 'productImg', //主圖片的class picBox : 'owl-carousel', //圖片容器的class specClass : 'box-item', //規格 -按鈕的class specID2 : 'SID', //規格 -要傳送的標籤屬性 specUrl : '/products/ajax/common/ajax_get_prod_item.php', //規格 -ajax網址 sale_msg : 'sale_msg', //規格的特惠訊息 Wear_Report : 'Wear_Report', //試穿報告 //加入購物車 addButton : 'add_to_cart', //加入購物車按鈕的class addUrl : '/ajax/ajax_add_to_cart.php', //加入購物車網址 addBox : 'Add_Button', //加入購物車按鈕的容器 ordButton : 'button1', //選購按鈕(行銷) //貨到通知 informBtn : 'informButton', //貨到通知按鈕的class informSend: 'informSend', //送出按鈕的ID informID : 'informID', //存ID欄位的ID informEmail: 'informEmail', //Email欄位的ID informClose: 'informClose', //關閉按鈕的ID informUrl : '/products/ajax/common/ajax_add_prod_inform.php', //ajax網址 //wishList loveButton: 'love', //列表加入願望清單 wishButton: 'wishButton', //加入願望清單按鈕的class wishUrl : '/products/ajax/common/ajax_add_wish_list.php', //ajax網址 //設定圖片 mobileUrl : '/products/ajax/detail/productView_moblie.php', //ajax手機網址 pcUrl : '/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'); if(SID){ $.ajax({ url:sets.specUrl, type:"POST", cache:false, async:false, data:{Type:sets.type,SID:SID,ActID:ActID,Mark:Mark}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ _this.setFile(_item,$this,d); _this.magnific(); } }); } }); //尺寸下拉選單 $("."+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}, dataType: 'json', error:function(d){ alert(d.responseText); }, success:function(d){ _this.setFile(_item,$this,d); _this.magnific(); } }); } }); //加入購物車按鈕 $("."+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<=5)_item.find("."+sets.stockBox).html(_jsLang.庫存+' : '+d.Stock); } if(d.Amount)_item.find("."+sets.amountBox).html(d.Amount); // $("#Shop_Cart_Total>.num").html("("+d.Total+")"); $("#Shop_Cart_Total .num").html(''+d.Total+''); _this.setCartOther(); if(d.Alert == '加入購物車成功'){ $.ajax({ url:"/ajax/ajax_get_cart2.php", type:"POST", async:false, cache:false, data:{Type:'Prod',ID:SID,Num:num}, success:function(d){ $("#jump-shop").html(d); } }) }else{ alert(d.Alert); } } }); } }); this.magnific = function(){ $("."+sets.addButton).magnificPopup({ items:{ src:'#jump-shop', type:'inline', midClick: true } }); } _this.magnific(); //貨到通知按鈕 $("."+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('.button1').attr('SID'), type = 'add'; if($this.attr("class").match('click')){ type = 'del'; } $.ajax({ url:sets.wishUrl, type:"POST", cache:false, async:false, data:{Type:type,SID:SID}, error:function(d){ alert(d.responseText); }, success:function(d){ if(d=='OK'){ if(type == 'add'){ $this.addClass("click"); }else{ $this.removeClass("click"); } }else if(d == 'NO_MEMBER'){ alert(_jsLang.請先登入會員); }else{ alert(_jsLang.資料庫忙線中); } } }); }); //wishList $("."+sets.contBox).on("click","."+sets.wishButton,function(){ var _item = $(this).parents("."+sets.itemBox), // SID = _item.find('.button2').attr('SID'); SID = _item.find('.wishButton').attr('SID'); $.ajax({ url:sets.wishUrl, type:"POST", cache:false, async:false, data:{SID:SID}, error:function(d){ alert(d.responseText); }, success:function(d){ if(d=='OK'){ alert(_jsLang.新增成功); }else if(d == 'NO_MEMBER'){ alert(_jsLang.請先登入會員); }else{ alert(_jsLang.資料庫忙線中); } } }); }); //圖片輪播 if($("."+sets.picBox+" .picitem ").length > 5){ $("."+sets.picBox).owlCarousel({ loop : false, items : _this.item_num, nav : true, }); } }; //設定內容 this.setFile= function(_item,$this,d){ _item.find("."+sets.loveBox).removeClass("click"); if(d.ID)_item.find("."+sets.ordButton).attr("sid",d.ID); if(d.Name)_item.find("."+sets.nameBox).html(d.Name); if(d.Prod_No)_item.find("."+sets.prodnoBox).html(d.Prod_No); if(d.Love)_item.find("."+sets.loveBox).addClass(d.Love); _item.find("."+sets.price1Box).html(d.Price1); _item.find("."+sets.price2Box).html(d.Price2); 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.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(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)$this.nextAll("."+sets.amountBox).eq(0).html(d.Amount); $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.amountBox).html(d.Amount); if(d.Serial_No)$(".More_Detail").attr("href","/product-detail/"+d.Serial_No); } for($i=1;$i<=3;$i++){ if(d.Button[$i])_item.find("."+sets.addBox+$i).html(d.Button[$i]); } _this.setImg(_item,d.Pic_Path,d.Pic,d.Video); _this.setFileOther(_item,d); } //變更內容自訂Function this.setFileOther = function(){ } //加入購物車後自訂Function this.setCartOther = function(){ } //設定圖片、影片 this.setImg = function(_item,Pic_Path,Pic,Video){ //手機 if($(window).width() <=768){ //列表 if(sets.type == 1){ _item.find("."+sets.picpathBox).css("background-image","url('/upload_files/fonlego-rwd/prodpic/"+Pic_Path+"')"); _item.find("."+sets.picpathBox).html(''); } //詳細頁 else{ _this.item_num = 1; var _Pic = (Pic_Path+','+Pic).split(','); $_Pic1 = '', $_Pic2 = ''; for($i=0;$i<_Pic.length;$i++){ if(_Pic[$i]){ $_Pic1 += '
'; $_Pic1 += ''; $_Pic1 += '
'; $_Pic2 += ''; } } if(Video){ $_Pic1 += '
'; $_Pic1 += ''; $_Pic1 += '
'; } _item.find("."+sets.picpathBox).html($_Pic1).trigger('destroy.owl.carousel') .owlCarousel({ loop : false, items : _this.item_num, nav : true, }); _item.find("."+sets.picpathBox).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($_Pic2+''); } } //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('/upload_files/fonlego-rwd/prodpic/"+_Pic[0]+"')"); _item.find("."+sets.picpathBox).html(''); } //詳細頁 else{ _this.item_num = 5; var _Pic = (Pic_Path+','+Pic).split(','); $Pic = '', $Pic_Path = '', now_class= 'now', Pic_Size = 'S', $loop = false; for($i=0;$i<_Pic.length;$i++){ now_class =($i==0)?now_class:''; if(_Pic[$i]){ $Pic_Path += '
'; $Pic_Path += '
'; $Pic_Path += ''; $Pic_Path += ''; $Pic_Path += '
'; $Pic_Path += ''; $Pic_Path += '
'; } } if(Video){ $Pic_Path += '
'; $Pic_Path += ''; $Pic_Path += '
'; } _item.find("."+sets.picpathBox).html($Pic_Path); } //設定輪播圖 for($i=0;$i<_Pic.length;$i++){ now_class =($i==0)?now_class:''; if(_Pic[$i]){ $Pic += '
'; } } if(Video && sets.type != 1){ $Pic += '
'; } // _item.find("."+sets.picBox).html($Pic) // .trigger('destroy.owl.carousel') // .owlCarousel({ // loop : $loop, // items : _this.item_num, // nav : true, // }); //影片預覽圖 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 : '/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(); }); //品牌 $(".Brand_Search").on('click',function(){ $(".filterLoading").addClass('Loadingshow'); _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"); //window.location = '?page=' +$(this).attr("send"); } }); //分頁下拉選單 $("."+sets.pageSelect).change(function(){ window.location.hash = $(this).val(); //window.location = '?page=' + $(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,10000); $('#'+sets.morderBox).removeAttr('click'); _this.Search(); }); }; //篩選功能 this.Search = function(pageCode,other){ //置頂 // $(".filterLoading").addClass('Loadingshow'); if(other != "no"){ $(window).scrollTop(0); } var _str = "", _style = "&style=", _spec1 = "&spec1=", _spec2 = "&spec2=", _brand = "&brand=", pageCode = parseInt(pageCode) || 1, _limit = $('input[name="viewNumder"]:checked').val(), $page = ""; //搜尋結果頁無限制筆數功能 所以預設值25 if(_limit == undefined){ _limit = 25; } $(".loading").show(); $("."+sets.searchFocus).each(function(){ switch($(this).attr(sets.searchType)){ case "style": _style += $(this).attr(sets.searchID) +','; break; case "spec1": _spec1 += $(this).attr(sets.searchID) +','; break; case "spec2": _spec2 += $(this).attr(sets.searchID) +','; break; } }); _str += _style+_spec1+_spec2; $("."+sets.moneyRange).each(function(){ _str += "&"+$(this).attr("id")+"="+$(this).text(); }); $(".Brand_Search:checked").each(function(){ _brand += $(this).val() +','; }); _str += _brand; if($("#"+sets.orderBox).val()){ _str += "&order="+$("#"+sets.orderBox).val(); } if($(window).width()<=1024){ //手機版排序 if($('#'+sets.morderBox+'[click="true"]').data('val')){ _str += "&order="+$('#'+sets.morderBox+'[click="true"]').data('val'); } } if($("#"+sets.styleBox).val()){ _str += "&style="+$("#"+sets.styleBox).val(); } if($("#"+sets.sizeBox).val()){ _str += "&spec2="+$("#"+sets.sizeBox).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; $.ajax({ url:sets.searchUrl, type:"POST", async:true, data:$("#"+sets.urlGetID).val()+_str, error:function(d){ alert(d.responseText); $(".filterLoading").removeClass('Loadingshow'); }, beforeSend: function(){ //置頂 $(".filterLoading").addClass('Loadingshow'); }, success:function(d){ //插入資料 $("#"+sets.contBox).html(d) .find("."+sets.picBox) .owlCarousel({ loop : true, items : 1, nav : true }); //處理分頁 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); //loading remove setTimeout(function(){ $(".filterLoading").removeClass('Loadingshow'); var top = $('.filterbox').css('top'); if(top == '50px'){ $(".titlebox").find(".close").click(); } },500); //延遲載入 $('.'+sets.mainPicBox+' img').lazyload({ effect : 'fadeIn', failure_limit : 10, placeholder:'/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, }); } } }); $(".loading").hide(); } }