Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
9/9
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
Telescopic Sink Storage Rack
9/9

Telescopic Sink Storage Rack

$26.99
$49.99
Save 46%
ColorBlue
Please select a color
Quantity
SKU:
Weight: 0kg
Barcode:
/** @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);
Are your dish brushes and rags dry?
A damp cloth will breed a lot of bacteria endangering the safety of you and your family.

Main Features

  • Extensible Design】It can meet different needs, adapt to different sink sizes, freely adjust the length, can be large-capacity storage.
  • Ventilated Drain】Create a healthy environment, keep it drydrain holes are evenly distributed, and it is healthier not to collect water.
  • 【Towel Bar】Intimate everyday design can keep the fabric dry, ventilated, clean, and hygienic.
  • Easy to storageEasy-to-store cleaning utensils, such as dishwashing liquid, hand sanitizer, ball brush, etc. It is comfortable to handle at an appropriate height, and convenient for daily cleaning.
  • Easy Installation】Humanized design, easy to remove and wash. Made of PP material, it is more stable and does not shake.

 

Specification

Materials
  • Plastic
Product Size
  • 36CM × 9CM × 5CM
Package Contents
  • Telescopic Sink Storage Rack × 1
Product Weight
  • 230g

 

Note

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.