🎁Free Shipping on Orders Over $59🎉
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
1 / 16
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
Cute Animal Family Ornament, Wooden Puzzle Figurine
43% OFF
mysite

Cute Animal Family Ornament, Wooden Puzzle Figurine

$16.99 $29.99
0 sold
Style
Qty 1000 in stock

FEATURES: 

  • Mothers Day Desktop Decoration is usually used to decorate your living room, bedroom, table, sofa, bookcase, shelves and bed.

  • Mothers Day Gift can show your best wishes to mom and has collection value
    Elephant Wooden Craft will definitely impress your mother, and give your mother a different Mothers Day.

  • Mothers Day Ornament is mainly made of natural, strong and durable wood for a long time use. There is no doubt that this product is of high quality, beautifully crafted, durable, not easily damaged and reusable.
  • Mothers Day Wood Craft can perfectly match your other indoor home decorations, and is suitable as an exquisite housewarming gift.
  • Decorated with various animal shapes, this product has been carefully polished to a smooth surface. You can paint, write, stain, or leave the blank wood pieces in their original state and decorate them as you wish.

SPECIFICATIONS: 

  • Material: wood
  • Style: Whale, Bear, Hedgehog, Rabbit, Elephant
  • Weight: 130G
  • Size: as shown
  • Package: 1* Cute Animal Family Ornament, Wooden Puzzle Figurine
NOTE
  • Please allow slight measurement deviations due to manual measurement.
  • Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed in the pictures.
const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);