๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush
๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush

๐ŸŒŸ Multi-Function Rotating Crevice Cleaning Brush

Price

$38.00 $19.56
Save $18.44

color

Please select a color

๐Ÿ”ฅnew year flash sale

Please select a ๐Ÿ”ฅnew year flash sale

Quantity

Global Provision of Services
Free Shipping Over $59.99
Sustainable Manufacturing
PayPal & Credit Card Payment

๐Ÿ ๐Ÿ”Introducing our Multi-Function Rotating Crevice Cleaning Brush! ๐Ÿงนโœจ

Tired of struggling to clean those hard-to-reach crevices and tight spaces?ย 

Our innovative Multi-Function Rotating Crevice Cleaning Brush is designed toย make your cleaning tasks easier, more efficient, and more thorough.ย 

undefined

With its versatile features and powerful rotating action, it's the ultimate tool forย tackling dirt, dust, and grime in every nook and cranny.ย 

undefined

And our three-in-one cleaning brushย has a built-in hair clip,ย which canย easily pick up the hair that blocks the sewer without dirtying your hands.ย It also comes withย a small shovelย at the end toย easily remove stubborn stains.

undefined

Multi-function rotating crevice cleaning brush

FEATURES

  • โ‡๏ธEffective Cleaningโžคย This crack cleaning brush set is designed to effectively remove dust, dirt and debris from small cracks and tight spaces. The ultra-fine PET bristles are strong yet flexible, allowing them to easily reach tight spaces, cracks and corners without scratching or damaging the surfaces being cleaned.

Multi-function rotating crevice cleaning brush

  • โ‡๏ธErgonomic Designโžคย Each crevice cleaning brush is designed for comfortable grip and control. The durable plastic handle provides a good grip, allowing you to easily maneuver the brush while cleaning the kitchen sink, bathroom sink or toilet lid.

  • โ‡๏ธVersatile Useโžคย These gap cleaning brushes can be used on different surfaces. Whether you need to clean your car dashboard, keyboard, air vents, kitchen appliances, bathroom fixtures, tiles, shower door tracks, sink drains , oven, turntables, sliding door tracks or window frames at home or in the office, this set is for you.

Multi-function rotating crevice cleaning brush

  • โ‡๏ธDurable and Long Lastingโžคย These hard bristle cleaning brushes are built to last. They are wear-resistant, allowing you to use them for a long time without worrying that the bristles will lose their effectiveness, even after multiple uses and washes

  • โ‡๏ธEasy to clean and storeโžคย This gap cleaning brush can be easily rinsed with water and left to air dry. It is compact and can be stored in drawers, toolboxes or cleaning carts; it also has a small hole for easy hanging, saving space.

SPECIFICATIONS

  • Material:ย ABS + PP

  • Color:ย White, Gray, Purple

  • Weight:ย 76g

  • Size:

  • Package:ย 1/2/3 * Multi-function rotating crevice 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.

class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('appzebu smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);