Free shipping over $40
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
1 / 15
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
Contact Lens Washer
0% OFF
Save $-16.99
Delis666

Contact Lens Washer

$16.99
0 sold
Color
Specifications
Qty

8MAIN FEATURES

  • New Design: Cartoon cactus style with fresh colors, gently pull to eliminate tear protein. You can take this contact lens cleaner with you and use it as a contact lens case, and you can put your contact lenses in for cleaning and soaking at any time.Unlike ordinary lens cleaner, the top of it don't need to be rotated, just gently pull the drawstring, a faster rotation speed can better remove organisms on the lens.

          

  • New Function: Front and back rotation cleaning, effectively washer your lense. no noise makes you feel safe to use anytime,anywhere.

           

  • Decompression : Pull rope power, full of fun. for release stress fromwork and study.
  • Instructions : pull and release, repeat 5 times,easy cleaning of contact lens.

           

  • Note: Do not apply excessive force during the cleaning process, the active ingredients in the cleaning solution will easily cause foam, which will cause the lens to curl.if the foam is left to stand for a few minutes, the foam will disappear.

          

SPECIFICATIONS

  • Material: Plastic
  • Weight:60g/1PC

      Shipping:

      • Free Shipping Over $39.99.
      • Orders will be processed within 7 business days of ordering and shipped out the next day after the processing day. Orders will generally be delivered within 7 to 14 working days.

      Returns:Fast refund for any dissatisfaction within 15 days, 100% money-back guarantee.

      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.
      /** @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-1711005325228').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);