$(document).ready(function(){
let viewTimer,
oldSerialNo = $("#Serial_No").val(),
timeout = 3000,
specChanged = false //是否在手機板彈窗有切換規格
function viewProd(eventType, serialNo = $("#Serial_No").val()){
let eventList = {
1: "viewProduct", //開始觀看商品 或 離開後又回來
2: "leaveProduct", //切換分頁或切換規格
}
$.ajax({
url:'/products/ajax/member/view_prod-p.php',
type:"POST",
cache:false,
dataType: 'json',
data:{
event: eventList[eventType],
Serial_No: serialNo
},
});
}
//進入後
viewTimer = setTimeout(function(){
viewProd(1)
}, timeout)
//切換規格
$(document).on("changeSpec", ".productTitle, #pdlist-addToCart", function(){
clearTimeout(viewTimer)
viewProd(2, oldSerialNo)
//切換規格後的新SerialNo
oldSerialNo = $("#Serial_No").val()
specChanged = true
//新規格計時
viewTimer = setTimeout(function(){
viewProd(1)
}, timeout)
})
//手機板左右切換商品
$(window).on("slideChangeTransitionEnd", function(){
clearTimeout(viewTimer)
viewProd(2, oldSerialNo)
$("#Serial_No").val($(".outer-item.swiper-slide-active .inner-slide").data("serial-no"))
//切換商品後的新SerialNo
oldSerialNo = $("#Serial_No").val()
//新商品計時
viewTimer = setTimeout(function(){
viewProd(1)
}, timeout)
})
//手機板關閉規格彈窗
$(document).on("click", "#pdlist-addToCart .modal-closer", function(){
if(specChanged){
viewProd(2)
specChanged = false
}
})
//重新整理/關閉頁籤/關閉瀏覽器
$(window).on("beforeunload", function(){
clearTimeout(viewTimer)
viewProd(2)
})
//頁面可見度(切換分頁或縮小等情況)
$(document).on("visibilitychange", function(){
clearTimeout(viewTimer)
if(document.hidden){
viewProd(2)
}else{
//重新計時
viewTimer = setTimeout(function(){
viewProd(1)
}, timeout)
}
})
})