Cash on Delivery to Japan,Taiwan HongKong and Singapore ,Free shipping over USD$59
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
5 / 7
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts
You May Also Like Don't Like These?
mysite

Men’s Linen Shorts Classic Fit Casual Elastic Waist Summer Beach Shorts

$32.99 $49.99
0 sold
Color
Size
Qty 1000 in stock

Buy 2 Get Extra 10% OFF

Buy 4 Get Extra 15% OFF & FREE SHIPPING

Refresh Your Look And Stay In Fashion!

Fabric:Linen

Button closure

Machine Wash

【Elastic Waist】The men's pleat front shorts are zip fly with button closure and retractable drawstring at the back will give you maximum waist comfort.
【Classic Design】These mens linen shorts 7 inch inseam, two side pockets and two back pockets, make you very useful in wearing.
【Various Outfits】If you want a daily look, you can pair your t shirt with our black shorts. Or pair a hawaiian shirt with white shorts to create a beach look. Or pair a denim shirt and tank with khaki shorts to create a classic street look.

Size Chat

Tag
Size
Length HipWaist
cm | inchcm | inchcm | inch
S49cm |19.3''109cm |42.9''78cm | 31.1''
M50cm |19.7''114cm | 44.9''84cm | 33.1''
L51cm |20.1''122cm | 47.9''92cm | 36.1''
XL52cm |20.5''129cm | 50.9''99cm | 39.1''
2XL53cm | 20.9''137cm | 53.9''107cm | 42.1''

summer casual shorts

Multiple Clors for Your Choice

Multiple Clors for Your Choice

Size for Your Choice

Size for Your Choice

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