💥Only $14.99 Last Day Promotion!🎁3D Bat Design LED Decoration

people are viewing this right now
$14.99  - $34.99
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = '468d1774-5312-41a8-91d8-221d8fbaac5c'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'a105aea8-41b9-447c-8883-d4b2ea43d206'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'a105aea8-41b9-447c-8883-d4b2ea43d206' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = 'a105aea8-41b9-447c-8883-d4b2ea43d206'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);
Buy More Save More❤️:  12PCS
🛫Fast Shipping ONLY TODAY⏰:  ⚡Super fast delivery ⚡
Quantity

Description

Description

✅Paypal and Credit Card secure payment.🏪PalPay certified reputable merchant.💵Has paid 100k USD in PayPal as store guarantee

✅💁‍♀️Perfect After-sales>>support@touchtoin.com

📞 Tracking Number for Every Order>>Click here to👉 

✅Ultra-high quality handcrafted🎁The price is limited!🔥Grab yours as the limited promotion available!

❤️❤️❤️Don't forget to buy some for your family or friends as it's an unique gift idea.❤️❤️❤️

⚠️TIPS: Our goods are authentic, with genuine patents, counterfeit must be investigated! Customers please identify our products!


Transform your Halloween scene with the 3D Bat Design LED. Its smooth, The LED lights emit alternating red, purple, and blue flashes, creating a spooky and captivating atmosphere. Different sizes and large quantities are enough to meet your halloween decor.

Light Up Halloween Wall Decorations--3 colors of lights,our 3D Bats are vivid, shiny, real and eye-catching, easy to attract the attention of visitors or guests and make them creepy and scared, making your Halloween decorations standing out.

High-quality&Used indoors and outdoors for a long time-- turn off the switch when not needed to extend the life of the lights. Our LED lampshade is selected transparent, so that the light out of the effect is better, more realistic and eye-catching, the horror of the atmosphere is more intense.Our bat window clings are made from high-quality, PVC material and come with upgraded adhesive paper. They are long-lasting and suitable for various occasions and resist damage.

Easy to Use--The Halloween window cover includes sticky square tape. Just attach the adhesive to the back of the bat, The Halloween decorative bat lights use high quality glue dots, not easy to fall off. and then stick them on various smooth and dry surfaces, easy to operate,then affix the LED light, and place it where desired. These bat stickers are removable and reusable, you can store them for use in the next spooky season.

5 Size Bats Wall Set--This is a set of 12 pcs bat decals, which are in 5 size, 2 big bats 12"x3.3", 2 medium bats 10"x5.8", 2 small bats 8"x2.2", 2 small bats 7"x3",2 small bats 5"x1.4"..Perfect for wall and window decor, Halloween bats are made of quality PVC, you can use it for a long time.

Widely Used-- Suitable for Halloween, parties, ghost festivals, and other occasions, these bat decorations are versatile enough to be used on garages, ceilings, shelves, walls, doors, windows, classrooms, and mirrors. Customize your setup to create a spooky atmosphere for your Halloween party.

【Package Includes】You will get 12pcs 3D bats decals, 12pcs LED lights and enough adhesive stickers. Only need a simple paste combination that you will get your own bat light stickePerfect for Halloween decoration, it can easily create a spooky atmosphere

Click on "ADD TO CART" to get yours now! 

⚡️Stock sells fast - get yours today!

CUSTOMER SERVICE:

  • 100% private and confidential.

  • Customer satisfaction means everything to us. If you don't love your product, send the kit back within 30 days for a refund! 

  • Payment success & send e-mail for your confirmation before shipping.

  • Please contact us, if you need assistance.