(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
1/11
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
(New Style) Multi-purpose Floor Cleaner
1/11

(New Style) Multi-purpose Floor Cleaner

$26.99
$53.98
Save $26.99
BUY MORE SAVE MORE
Please select a buy more save more
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);

Easy to remove dirt/clean as new/no water stains/no damage to floors

The cleaning solution effectively cleans common stains such as dirt, grease and dip stains from floors and furniture surfaces. After cleaning it will emit an orange scent, creating a refreshing and comfortable atmosphere in your home.

undefined

Features

Deep Stain Removal - Highly effective stain removing actives to remove stubborn stains and bacteria.

Quick-drying and glossy - dry and non-sticky, while enhancing the shine of the floor and maintaining it as good as new from time to time.

Safe and non-irritating - professionally tested and non-irritating to the floor and skin, safe for babies and pets to play with.

Easy to use - The 100ml capacity makes it easy to handle and store, while the squeeze bottle design ensures easy application and no waste.

undefined

Specification

Fragrance: Sweet Orange

Size: 100 ml

Type: Multi-purpose floor cleaner

Weight:110g

undefined

Package Includes

1/2/3 * Multi-purpose Floor Cleaners

Notes

Please allow 2-3 cm error due to manual measurement. Please make sure you do not mind before purchasing.

Color may not appear as exactly as in real life due to variations between the computer monitors.