Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
1/16
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
Adjustable Drawstring Bag
1/16

Adjustable Drawstring Bag

$19.99
$35.98
Save $15.99
It's been recommended by 683 people on Facebook, Twitter and Instagram
Color
Please select a color
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
Weight: 0kg
Barcode:

FEATURES

  • High quality: Nylon waterproof bags with drawstrings, made of strong and sturdy nylon, which will not easily be scratched or torn.

undefined

  • Large capacity: Drawstring sports backpack, which is used to collect sports equipment and daily necessities, such as small books, phones, tissues and private storage like personal items and toiletries.

  • Gym drawstring bag: With roomy compartment and multi-purpose pockets, sports fitness backpacks have enough room to hold and well organize your Pad, books, folding umbrella, water bottle, wallet and other small items.

  • Comfortable shoulder strap: The adjustable shoulder strap makes workout bags more comfortable and durable, and helps reduce your shoulder burden.

  • Widely use: This bags adopt unisex design, suitable for swimming, walking, camping, vacation, travel, yoga, running, shopping and other activities.

undefined

SPECIFICATIONS 

  • Material: Nylon

  • Weight: .300g

  • Color: Purple, Dark Blue, Pink, Orange, Black, Red, Rose Red, Grey

  • Size: 41*15*32cm

  • undefined

PACKAGE

  • 1 * Adjustable Drawstring Bag

NOTE

  • Please allow slight measurement deviation due to manual measurement.

  • Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures.

Men's Wear