🎁Free Shipping on Orders Over $59🎉
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
1 / 15
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
Christmas Chicken Ornament
79% OFF
Fnkus

Christmas Chicken Ornament

$9.99 $47.98
0 sold
Qty 1000 in stock

🤣These chickens in different shapes are sure to bring extra cheer to your family at Christmas🎄

  • 🐓 Creative Christmas Scarf Chicken: Our wooden ornaments in different styles with creative designs and bright colors. Christmas scarf chicken designs are popular with kids.
  • 🐓 Durable Christmas Tree Pendant: Made from thick, strong, fine wood that can be used repeatedly for years, premium printing techniques produce clear and bright patterns that are easy to maintain in shape and color.

  • 🐓Acrylic Christmas Ornaments: Each Acrylic trim comes with a cord for easy hanging. Perfect for hanging on the Christmas tree, hanging on the car pendant home or office to create an amazing Christmas atmosphere decoration.
  • 🐓 Proper Size for Xmas Tree Decor: Each shape of Christmas chicken comes in a different size, with an average length of 3.1 x height 3.1 inches. Suitable for all types of Christmas tree decorations. Hang up cute pendants and let's use them to add more fun to your life.

  • 🐓 Perfect Christmas Gift for Kids: A Christmas gift for 2023, this unique decoration is the perfect and memorable Christmas gift for family and friends! Hang this Christmas chickens on the Christmas tree or as a holiday gift for family and friends. This will be the perfect way to create lasting and loving memories.

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);