Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
1/7
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter
1/7

Isolate odor and prevent cockroaches-Stainless Steel Floor Drain Filter

$16.98
$26.99
Save $10.01
3021 sold
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);
Are the drainage holes in your home often blocked by hair and other debris?
Unlike regular push-button drain, this drain stopper has an anti-clogging basket strainer inside that neatly collects hairs and prevents the drain from clogging. No jewelry, rings, dirt, and other things will enter the drain pipe.

New design:Pop-up drain filter design subverts traditional and inconvenient drainage methods (such as basic plug with chain)! You can switch between the two modes, plug (water storage) and filter (water drainage), just by lightly pressing the top cover.

Perfect Compatibility:The bathroom sink drain stopper fits 99% of basin sink drain holes with an inner diameter ranging , widely used for washbasins, bathroom sink drains and shower tub drains.

 Easy to Install: Anyone can install the pop-up drain filter because it has a simple structure and doesn't need any tools. Just take out the old sink drain stopper and insert the bouncing core.

 

Specification 

* Material: Stainless steel
* Size: As picture shown
* Color: Silver
* Quantity: 1/2/4pcs

💰 Payment Method

Payments Via PayPal®Credit and Debit Card.

If you want to checkout with a Debit or Credit Card, just enter your * Card No. * Expiration Date, and * CVV.

✈ Worldwide Shipping 

Please do note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉

 
OUR GUARANTEE

📦 Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

💰 Money-Back Guarantee: If your items arrive damaged or become defective within 15 days of normal usage, we will gladly issue out a replacement or refund.

✉️ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week.

🔒 Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.