Free shipping on orders over $34
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
7 / 8
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry
0% OFF

Handmade Multicolor Chains Anklet for Women Bohemian Tassel Shell Candy Color Anklet Leg Chains Summer Beach Jewelry

$9.06
0 sold
Metal Color
Qty 9999 in stock
Gender : Women
Shape\pattern : Geometric
Model Number : Bohemian Tassel Shell Chains Anklet
Style : Cute/Romantic
Length : a:47-51.5cm(18.50-20.28in) b:27.7cm(10.91in)
Material : Acrylic
Metals Type : Zinc alloy
Brand Name : genenic


Fine or Fashion : Fashion
Item Type : Anklets
TYPE 1 : Bohemian Tassel Shell Chains Anklet
TYPE 2 : Foot Chain
TYPE 3 : Leg Chains
TYPE 4 : Anklet for Women

item:Bohemian Tassel Shell Chains
material:Acrylic,cloth
size:a:47-51.5cm(18.50-20.28in)
b:27.7cm(10.91in)
weight:a:12.9g,b:13.5g
package:1 pc Bohemian Tassel Shell Chains
note:
1. please note the photo does not show actual size, please refer to description for size details.
2. please allowed 1-3mm(0.04-0.12in) differences due to manual measurement, thanks.




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