(function($){ /* 回到購買處 */ $('.gobuy').on('click',function(){ var tol = $(window).height(); console.log(tol); var buy = $('.button-line').offset().top-tol+50 ; $("html,body").scrollTop(buy); }); /*為JQ添加naturalWidth()和naturalHeight()方法,抓取圖片原始尺寸*/ var props = ['Width', 'Height'], prop; while (prop = props.pop()) { (function (natural, prop) { $.fn[natural] = (natural in new Image()) ? function () { return this[0][natural]; } : function () { var node = this[0], img, value; if (node.tagName.toLowerCase() === 'img') { img = new Image(); img.src = node.src, value = img[prop]; } return value; }; }('natural' + prop, prop.toLowerCase())); } }(jQuery)); // ========================================================== // 下方商品輪播 // ========================================================== $(function(){ // $(document).on("click", ".panel-products-title", function(){ // let wrapper = $(this).parents(".detail-panel-carousel") // wrapper.toggleClass("in-collapse") // }) }) // ========================================================== // 手機版下方按鈕組 & 規格/加購彈窗 // ========================================================== ;(function($) { let targetBox = $(".product-main-block .selectPopupBox") let fixedWrapper = $(".fixed-pickup-wrapper") let pickupMain = fixedWrapper.find(".pickup-main") let observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if(entry.isIntersecting){ fixedWrapper.addClass("hide") }else{ if(entry.boundingClientRect.top < 0){ //下方 pickupMain.html(targetBox.clone(true,true)) copyBtn() fixedWrapper.removeClass("hide") }else{ //上方 fixedWrapper.addClass("hide") } } }) }, {threshold: 0}) observer.observe(targetBox[0]) function copyBtn(){ let targetBtn = targetBox.find(".popup-buttonbox") let pickBtnGroup = fixedWrapper.find(".pickup-btn-group") pickBtnGroup.html(targetBtn.clone(true,true)) let addCartBtnBox = pickBtnGroup.find(".PopupBtn1") let addCartBtn = pickBtnGroup.find(".add_to_cart") if(addCartBtn.length){ //複製一個加入購物車按鈕 但移除事件作為挑選開關 let toggleBtnBox = addCartBtn.parents(".PopupBtn1").clone() let toggleBtn = toggleBtnBox.find(".btn") addCartBtnBox.addClass("hide") toggleBtnBox.addClass("pickup-toggle-btn-box").removeClass("PopupBtn1") addCartBtnBox.addClass("pickup-addcart-btn-box") pickBtnGroup.find(".popup-buttonbox").prepend(toggleBtnBox) toggleBtn.removeClass("add_to_cart") toggleBtn.off("click") toggleBtn.on("click.openPickup", function(){ fixedWrapper.addClass("in-open") toggleBtnBox.addClass("hide") addCartBtnBox.removeClass("hide") $("body").addClass("overflow-hidden") }) } } function pickupBoxClose(){ $("body").removeClass("overflow-hidden") fixedWrapper.removeClass("in-open") $(".pickup-toggle-btn-box").removeClass("hide") $(".pickup-addcart-btn-box").addClass("hide") } $(document).on("click", ".fixed-pickup-wrapper", function(e){ if($(e.target).hasClass("fixed-pickup-wrapper") || $(e.target).closest(".pickup-closer").length){ pickupBoxClose() } }) })($) // ========================================================== // trigger function // ========================================================== ;(function($, jQuery, window, document) { $(window).triggerAll('resize scroll') })($, jQuery, window, document)