PageSourceSearch

https://hillmalaya.com.hk/cdn/shop/t/40/assets/sticky-add-to-cart.js?v=7241408769685270401787798337

js hillmalaya.com.hk collected 2026-10-07 00:58:14 UTC 3,725 bytes, 2 lines download raw bytes

1document.addEventListener("DOMContentLoaded",function(){const stickyBtn=document.querySelector("[data-sticky-add-to-cart]"),stickyScrollTrigger=document.querySelector("[data-sticky-scroll-trigger]"),stickyImage=document.querySelector("[data-sticky-variant-image]"),productForm=document.querySelector("[data-product-form]"),mainAddToCartBtn=document.querySelector("[data-add-to-cart-trigger]"),sectionDataEl=document.querySelector(".product-main [data-section-data]");let productData=null;if(sectionDataEl)try{productData=JSON.parse(sectionDataEl.textContent).product}catch(e){console.warn("Failed to parse section data:",e)}if(!stickyBtn||!productForm||!stickyScrollTrigger||!mainAddToCartBtn)return;function syncStickyButton(event){if(mainAddToCartBtn){const mainBtnText=mainAddToCartBtn.querySelector(".text")?.textContent||mainAddToCartBtn.getAttribute("data-label"),stickyBtnText=stickyScrollTrigger.querySelector(".text")||stickyScrollTrigger;mainBtnText&&(stickyBtnText.querySelector(".text")?stickyBtnText.querySelector(".text").textContent=mainBtnText:stickyScrollTrigger.textContent=mainBtnText)}const titleEl=document.querySelector("[data-sticky-variant-title]");if(titleEl){const eventVariantTitle=event?.detail?.variant?.title;if(eventVariantTitle&&eventVariantTitle!=="Default Title")titleEl.textContent=eventVariantTitle;else{const selectedVariantId2=productForm.querySelector("form")?.elements.id?.value;if(selectedVariantId2){const variant=productData?.variants?.find(v=>v.id==selectedVariantId2);variant&&variant.title&&variant.title!=="Default Title"&&(titleEl.textContent=variant.title)}}}const inventoryEl=document.querySelector("[data-sticky-inventory-left]");if(inventoryEl){const mainInventoryEl=productForm.querySelector(".items_left");inventoryEl.textContent=mainInventoryEl?mainInventoryEl.textContent:""}const form=productForm.querySelector("form");if(!form)return;const selectedVariantId=form.elements.id?.value;if(!selectedVariantId||!stickyImage)return;const mainImage=document.querySelector(".product-gallery__main .product-gallery__image.is-selected img"),mainImageUrl=mainImage?.getAttribute("data-src")||mainImage?.src;if(mainImage&&mainImageUrl){stickyImage.src=mainImageUrl.replace(/width=\d+/g,"width=160").replace(/height=\d+/g,"height=160"),stickyImage.alt=mainImage.alt||"";return}if(productData&&selectedVariantId){const variant=productData.variants?.find(v=>v.id==selectedVariantId);if(variant&&variant.featured_image){stickyImage.src=variant.featured_image.src.replace(/width=\d+/g,"width=160").replace(/height=\d+/g,"height=160"),stickyImage.alt=variant.featured_image.alt||"";return}}}stickyScrollTrigger.addEventListener("click",function(e){e.preventDefault(),productForm.scrollIntoView({behavior:"smooth",block:"start"})}),mainAddToCartBtn&&new MutationObserver(syncStickyButton).observe(mainAddToCartBtn,{attributes:!0,childList:!0,subtree:!0}),new MutationObserver(syncStickyButton).observe(productForm,{attributes:!0,subtree:!0,attributeFilter:["value","data-label"]}),productForm.addEventListener("variant:change",syncStickyButton),productForm.addEventListener("variant-change",syncStickyButton),productForm.addEventListener("change",syncStickyButton),document.addEventListener("variant:changed",syncStickyButton),document.addEventListener("variant-change",syncStickyButton),document.addEventListener("change",syncStickyButton),syncStickyButton(),new IntersectionObserver(function(entries){const entry=entries[entries.length-1];stickyBtn.classList.toggle("sticky-add-to-cart--visible",!entry.isIntersecting)},{rootMargin:"0px 0px 99999px 0px"}).observe(mainAddToCartBtn)});
2//# sourceMappingURL=/cdn/shop/t/40/assets/sticky-add-to-cart.js.map?v=7241408769685270401787798337

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.