Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
9 / 10
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
Plain Flap Pocket Jogger Cargo Jeans
mysite

Plain Flap Pocket Jogger Cargo Jeans

$29.99
0 sold
Color
Size
Qty 1000 in stock

Introducing our Plain Flap Pocket Jogger Cargo Jeans, the perfect blend of style and functionality for the modern adventurer. Crafted with meticulous attention to detail, these jeans are designed to elevate your casual wardrobe with their rugged appeal. Featuring a classic denim construction, these cargo jeans are made from high-quality, durable fabric that ensures long-lasting comfort and resilience. The straight leg cut offers a timeless silhouette, suitable for various occasions and personal styles.

Details:

  • Pattern Type: Plain
  • Type: Jogger
  • Jeans Style: Cargo Pants
  • Closure Type: Zipper Fly
  • Waist Line: Natural
  • Length: Long
  • Fit Type: Regular Fit
  • Fabric: Non-Stretch
  • Material: Denim
  • Body: Unlined

Size Chart (inch):

SizeUSHip SizeInseamLengthThighWaist Size
XXS035.424.63521.924.8
XS23724.835.422.826.4
S438.62535.823.828
M640.225.236.224.729.5
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);