(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
1 / 7
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser
56% OFF

(💥HOT SALE-40% OFF💥)6 Shot Liquor Dispenser

$39.99 $89.99
0 sold
Style
Qty 1000 in stock
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);


🍷Not only a drink dispenser but also a beautiful glasses holder and decoration craft.🍻

🎙Suitable for multiple occasions like home, bar, party, KTV, picnic, festival, etc. 

🎉As a shot glasses holder, it can store 6 shot glasses, elegant and space-saving.🍺

➤【Party Starter】This shot glasses dispenser allows you easily fill up six glasses with your favorite drinks at once, and conveniently share them with your friends or family. It is very cool and funny as the party starts! 

➤【Perfect Design】Our new dispenser upgrade uses the siphon principle and diversion patterns for more even distribution; added exquisite umbrella and spinning top accessories for more fun.

➤【Materials & Safety】This shot glass dispenser and holder is made of food-grade PMMA Acrylic material to ensure safety and durability, which is high-clear and not easy to break. It is a convenient and safe restaurant supply that fits most of your favorite drinks such as gin, whiskey, rum, vodka, Jagermeister, tequila, cider, juice, etc.

➤【Quick Pours 6 Shots At Once】The Glass Dispenser with six shots will allow you to easily fill up to six shot glasses at once with your favorite beer &beverage and then hold them up, all in one! This is latest new idea. U will like it !

💥Start your party with this dispenser! Beautiful crafts, convenient, fun and more atmosphere~🎉

This liquor pourer and glasses set is perfect as a fancy new party gadget and makes a great Jagermeister gift

Package contains: Shot glass dispenser *1, shot glasses 45ml *6, spinning top attachment *1, shunt umbrella attachment *1. 

Parameters

  • Product: Shot Glass Dispenser Siphon Version 2023
  • Material: PMMA Acrylic
  • Diversion Principle: Siphon
  • Model: 2023 / 2023 with Lights (Photoelectric module)
  • Total Weight: 468g / 493g

Size

  • Dispenser: Top Φ 12cm x Bottom Φ 13.9cm x High 16.1cm
  • Glasses: Top Φ 4.5cm x Bottom Φ 3.5cm x High 6.6cm

Worldwide Shipping ✈

🌎 Worldwide Shipping: Every order includes real-time tracking details and insurance coverage in case the package is lost or stolen in transit.

💰 MONEY BACK GUARANTEE: If you bought it and feel it is not for you, don't worry. Just drop us a message by contacting

📪 info@happycottags.com and we'll fix your issue with a replacement or refund. 100% easy and risk-free process.

☉️ 24/7 Customer Support: We have a team of live representatives ready to help and answer any of your questions 24 hours a day, 7 days a week.

🔒 Safe and secure checkout: We use state-of-the-art SSL security encryption to 100% protect your personal and financial information.

Worldwide Shipping ✈

不明确的

undefined

 

You may also like Don't Like These?