Cash on Delivery to Japan,Taiwan HongKong and Singapore ,Free shipping over USD$59
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
5 / 15
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
Men's Cotton Basic Cotton Long Sleeve Shirt
You May Also Like Don't Like These?
mysite

Men's Cotton Basic Cotton Long Sleeve Shirt

$49.99 $99.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!

    Applicable Scene: Daily

    Sleeve Length: long

    Material: 100% Cotton 

    Applicable Season: Four Seasons

    Collar: V-Neck

    Item Type: Tops

    Tops Type: Tees

    Sleeve Style: regular

    Pattern Type: Print

    Size: S,M, L, XL, 2XL, 3XL, 4XL, 5XL

    Style: Sport,Fashion,Casual

    Batch time to market: 2024

    Size Chat

    Tag
    Size
    ReferenceReferenceReferenceLengthChestShoulderSleeve
    USUKEURcm | inchcm | inchcm | inchcm | inch
    S34-3634-3644-4673cm | 28.74''110cm | 43.31''47.5cm | 18.70''64cm | 25.20''
    M38-4038-4048-5074cm | 29.13''115cm | 45.28''49.0cm | 19.29''65cm | 25.59''
    L42425275cm | 29.53''120cm | 47.24''50.5cm | 19.88''66cm | 25.98''
    XL44445476cm | 29.92''125cm | 49.21''52.0cm | 20.47''67cm | 26.38''
    2XL46465677cm | 30.31''130cm | 51.18''53.5cm | 21.06''68cm | 26.77''
    3XL48485878cm | 30.71''135cm | 53.15''55.0cm | 21.65''69cm | 27.17''
    4XL5050 6079cm | 31.10''140cm | 55.12''56.5cm | 22.24'' 70cm | 27.56''
    5XL5252 6280cm | 31.50''145cm | 57.09''58.0cm | 22.83'' 71cm | 27.95''
    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);