Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
Electric Makeup Brush Cleaner
6 / 8

Electric Makeup Brush Cleaner

Color Classification
Please select a color classification
Price
$19.00
$0.00

Quantity

Overview:

1. Keep Brushes Looking New: Melanther electric makeup brush cleaner made with 80r/min premium motor and silicone container compact textures design.
2. Easy to Use: This makeup brush cleaner machine requires no assembly, one-button cleaning, and easy operation.
3. Wide Compatibility: The makeup brush cleaner suits various brushes, even short brushes, and double heads brushes.
4. Portable Size: The makeup brush cleaner size is small size, easy to carry and use.
5. Friendly After-Sales Support: We are always committed to resolving your concerns and can provide you with a full refund or exchange if necessary.


Product Information:
Makeup tools classification: other makeup/beauty tools
Color classification: white powder, Black Rose Red
Net content: 200g
Material: ABS silicone
Size: 9-8.8cm


Packing List:
Beauty tools * 1PCS 


Product Image:
/** @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-1726694338796').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);