SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
1 / 10
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF
41% OFF

SUPER ABSORBENT NON-SLIP MAT - UP TO 30% OFF

$29.96 $50.90
0 sold
Color
Style
Size
Qty 1000 in stock
/** @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);

 

🔥 The price is limited! 🔥 Grab yours as the limited promotion available!

KEEP DRY AND SAFE WITH DRYMAT  - COMFORTABLE, CLEAN, DRY FLOORS.

undefined

It is water repellant and super absorbent, providing the perfect combination of dryness and cleanliness.

PREVENT SLIPPING WITH OUR STRONG NON-SLIP GRIP

For added security, the DryMat comes with a non-slip bottom that helps it stay put at all times. No matter how much water it absorbs, the DryMat is reliable enough to step on each time you come out of the shower. 
 

PREVENTS MOLD AND STAYS CLEAN

Once you step on the DryMat, you'll see the water disappear right in front of your eyes. Thus preventing mold and a "musty" mat. Keep your floor clean and dry to keep your home safe and clean.
 

CUSHIONED MATERIAL 

Our DryMat is made with skin-friendly material that's comforting to your feet. Plus, it has a multi-layered design that makes you feel like you're walking on the clouds.
 

SIMPLE CARE

Since the DryMat dries up in an instant, cleaning it is simple and hassle-free. All that you have to do is to scrub it with anti-bacterial soap to keep it in pristine condition. 
 

USE SCENARIOS:

COLOR:


FAQ
Q. Where does the water go?
 
A. Our mats are manufactured with rubber and nappa,which dries faster then an ordinary floor mat.
 
Q. What is the life on the mats?
 
A. DRYMAT last longer than 3 years
 
Q. Will it mould?
 
A. No, The water is evaporated and will not accumulate mould unlike other mats.
 
Q. Are they suitable for outdoor use?
 
A. Yes they can be used for the outdoors.
 
Q. Are they antibacterial?
 
A. Yes, DRYMAT are antibacterial.
 
Q. How often should I clean it?
 
A. We recommend to clean at least once a week.
 
Q. How do I clean it?
 
A. DRYMAT can be simply machine washed or hand washed.

NOTE:

  • ① The washing maximum temperature is 30℃.
  • ② Do not bleach.
  • ③ Do not roll over dry.

PACKAGE INCLUDES:

  • 1* FLoor Mat
    Front: Technology fleece
    Back: Rubber

OUR GUARANTEE: We strive to provide each customer with the highest standard of customer service to ensure you have a pleasant shopping experience. If you have any issues, inquiries or need assistance, please feel free to contact us directly.

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