5 in 1 Car Handle Assist

$19.99
$24.99
-20%
Specification:  Standard(2-in-1)
Color:  Red Black
Size:  Buy 1
visitors currently looking at this product!❤
Worldwide shipping
Supports return and exchange within 30 days
Sustainably made
Secure payments
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);

Description

Could Load 350lbs: The portable car door assist handle has a load capacity of up to 350 lbs, ensuring safer use, durable auto assist bars are the perfect travel accessory.

Multifunctional Design: This 5-in-1 car door assist handle includes a window breaker, seat belt cutter, rechargeable LED flashlight (with built-in battery and USB charging), and distress whistle. Its portable and versatile design makes it suitable for most vehicles.

Function Usage: The car door handle for elderly is not only use as an assistance handle but a window breaker, seat belt cutter, rechargeable LED flashlight and distress whistle, Suitable for all U-shaped door lock cars.

Wide Applicability: The car handle assist device for seniors is suitable for any vehicle and has anti-slip function. The grip is contoured to fit your fingers perfectly, providing a natural and comfortable grip.

Mobility and Daily Living Aid: This car handle assist is an excellent tool for anyone who needs help getting in and out of a vehicle, including the elderly, injured, or those who require assistance for independent mobility. It makes a great gift for family and friends.

Specifications and Dimensions: divided into standard version (2-in-1) and PRO (5-in-1) version, both are particularly convenient to carry. You can store the car support handle in your purse, glove box, door pocket, door console or even jacket pocket, and then you can carry it at any time Go, use and carry with ease.


 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.

🎁Hot Sale🎁 49% OFF - Stainless Steel Finger Guard🔥BUY MORE SAVE MORE

from $19.99 $38.95

(🎁 Hot Sale🎁-49% OFF❤️)2-in-1 Stainless Steel Fruit Cutter

from $21.99 $42.95

Kitchen Sink Faucet Organizer

$23.99 $33.99

🎁HOT SALE 49% OFF🎁Multifunctional Shrimp Line Fish Maw Knife

from $19.99 $39.90

Kitchen Ladles Slotted Spoons 2 in 1 Creative Soup Ladle with Colander Filter

from $19.99 $38.95 +1

Pineapple Cutter

from $23.99 $46.95

Fruit Carving Knife - DIY Platter Decoration

from $19.99 $38.95

💖DIY Sushi Mold💖

from $19.99 $38.99

4 in 1 Stainless Steel Fruit Tool Set

from $23.99 $46.95

2-in-1 Vegetable Chopper Dicing & Slitting

from $23.99 $46.95

(🔥🎁Hot Sale🎁-49% ) Stainless Steel Oil Filter Pot

from $24.99 $48.95

Stainless Steel Square Plate(With Lid)

from $24.99 $48.95

Pepper Seed Corer Remover

from $19.99 $38.95

2-in-1 Telescopic Fruit Core Peeling Peeling Machine StainlessSteel Fruit Peeler

from $21.99 $42.95

Fresh Keeping Bags

from $21.99 $42.99

Products list

const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'ca9a134d-a8cb-4843-bcb9-f6828f801159'; this.isRTL = SPZ.win.document.dir === 'rtl'; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { console.log('自动折扣直出数据',{"downgrade":false,"automatic_discount_list":[],"hash":""}); this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const promotionComplex = {"downgrade":false,"automatic_discount_list":[],"hash":""}; let data = await this.getDiscountList(); if (data.hash && (data.hash !== promotionComplex.hash)) { // 兜底方案, downgrade == true; 需要降级 则要请求接口, // 但是直出数据可能存在缓存,一定会调用一次接口,直接判断hash版本,不一致就用接口的,一致就没必要重新渲染一模一样的数据了 console.log('%c 自动折扣hash不一致, 使用接口数据 ', 'background:#ffe3f4;border: 1px solid #ff4395; color: #ff4395;', data.hash); this.renderApiData_(data); } } async getDiscountList() { const productId = '9cb5d344-1cc5-4905-9163-6806d1ad2d1e'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if(parentDiv){ parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '9cb5d344-1cc5-4905-9163-6806d1ad2d1e' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
  • Free shipping

    Free worldwide shipping and returns customs and duties tases included
  • Customer service

    Your payment in formation is processed securely
  • Secure payment

    Need to contact us?Just send us an e-mail at info@yourstore.com
  • Contact us

    Short content about your store