Free shipping on orders over $34
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
7 / 13
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set
0% OFF

Luxury High Luster Freshwater Double Pearl Necklace Bracelet Set Wedding Fine Jewelry,Wedding White Natural Pearl Jewelry Set

$62.74
0 sold
Gem Color
Qty 556 in stock
Certificate : no
Item Weight : 0
is_customized : No
Side Stone : PEARL
Certificate Number : pearl necklace bracelet
Size Per Pearl : 5-5.5mm
Pearl Type : Freshwater Pearls
Shape\pattern : Round
Gender : Women
Model Number : N8056, pearl necklace set
Jewelry Sets Type : Earrings/Bracelet
Occasion : Wedding
Style : Bohemia
Certificate Type : CMA
Metals Type : None
Main Stone : PEARL
Brand Name : You Noble

Fine or Fashion : Fine
is_customized : Yes
Freshwater pearl necklaces : genuine pearl necklace
multilayer necklace : wedding necklace
real pearl necklace : white pearl necklace
pearl necklace : freshwater pearl necklace



 

 

 

 



 

 




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