Free shipping on orders over $34
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
7 / 15
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry
0% OFF

Modyle Vintage Antique Gold Color Anklet Women shell Beads Geometric Bracelet Charm Bohemian Ankle Bracelet Boho Foot Jewelry

$11.21
0 sold
Metal Color
Qty 9965 in stock
Gender : Women
Shape\pattern : Geometric
Model Number : 50030
Style : TRENDY
Length : 23.5cm
Material : SHELL
Metals Type : Copper


Fine or Fashion : Fashion
Item Type : Anklets





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