Cash on Delivery to Japan,Taiwan HongKong and Singapore ,Free shipping over USD$59
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
2 / 7
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
Men's Simple Fashion Solid Color Casual Cotton Linen Trousers
You May Also Like Don't Like These?
mysite

Men's Simple Fashion Solid Color Casual Cotton Linen Trousers

$29.99 $59.99
3 sold
Color
Size
Qty 999 in stock

Style: Motion,Lie Fallow

Pant Shape: Loose Fitting

Pant Length: Trousers

Pattern: Solid Color

Error Range: 1-3CM

Suitable For The Season: Autumn

Fabric Name: Cotton

Applicable Scenarios: Leisure Time

Style Details: Pocket Decoration

Fabric: Pure Cotton

Category: Workwear Casual Pants

Size Chat

Tag
Size
Length HipWaist
cm | inchcm | inchcm | inch
M100cm |39.37''114cm | 44.88''76cm | 29.92''
L101cm |39.76''118cm | 46.46''80cm | 31.50''
XL102cm |40.16''122cm | 48.03''84cm | 33.07''
2XL103cm | 40.55''126cm | 49.60''88cm | 34.65''
3XL104cm | 40.94''130cm | 51.18''92cm | 36.22''



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