Cash on Delivery to Japan,Taiwan HongKong and Singapore ,Free shipping over USD$59
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
10 / 12
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants
You May Also Like Don't Like These?
mysite

Men's Cotton And Linen Shorts,Youth Loose Five Piece Pants,Linen Beach Pants

$31.99 $46.99
0 sold
Color
Size
Qty 1000 in stock

Style: Basic Model

Pant Shape: Loose Fitting

Pant Length: Shorts

Waist Type: Middle-waisted

Pant Placket: Lanyard Closure

Thickness: Ordinary

Pattern: Solid Color

Suitable For The Season: Summer

Fastest Shipping Time: One

Suitable For The Population: Youth

Fabric Name: Polyester Linen Blend

Applicable Scenarios: Leisure Time

SizeFit US SizeFit UK SizeFit EU SizeWaistLengthHips
S2828387854108
M3030408255112
L3232428756117
XL3434449257122
2XL3636469758127
3XL38384810259132
You May Also Like Don't Like These?
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);