🔥3 in 1 Multifunctional Cleaning Brush-BUY 1 GET 1 FREE

$21.99
$39.98
-$17.99
Buy 1:  Green
Get 1 Free:  Green
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);

Description

FEATURES

  • 3 in 1 cleaning brush: Our cleaning brush consists of three parts: bottle cleaning brush, white brush and removal trim. The nozzle cleaning brush can be used to clean the dirt in the groove, the disassembly device is used to pry the sealing ring and clean the gap, and the white brush can clean the dirt of the bottle stopper.

  • Material and quality: Made of high quality polypropylene plastic, strong and durable, can withstand temperatures up to 80 degrees Celsius, high quality.

  • Easy to clean: The bottle nozzle cleaning brush is gentle on any surface and will not harm your household cleaning. It specializes in cleaning deep grooves, crevices and corners. The brush has strong decontamination ability and is easy to clean.

  • Wide range of uses: Suitable for all kinds of cups and bottles, such as glasses, plates, pacifiers, sports cups, thermos cup lids, etc. Can also be used for kettles, kettle lids, plates, etc.

  • Intimate design: Cute carrot design, small and delicate. 180° rotation and replacement, can be switched freely.

SPECIFICATIONS

  •  Material: Silicone + nylon + stainless steel

  • Weight: 40g

  • Color: Green, Blue, Grey

  • Size: 3.4*1.6*11.4cm/1.34*0.63*4.49in

PACKAGE

  • 1 * Cup Cleaning Brush

NOTE

  • Please allow slight measurement deviations 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 in the pictures.