Free shipping over $40
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
8 / 15
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
Car Air Outlet Navigation Phone Bracket
46% OFF
Save $17.00
Delis666

Car Air Outlet Navigation Phone Bracket

$19.99 $36.99
20 sold
Color
Style
Qty

MAIN FEATURES

  • 【Prevent Your Phone From Falling】: This gravity-responsive car phone holder adopts gravity linkage design, when you place your phone, the arms of the ventilated phone holder can form a stable triangular structure. Hold your phone firmly even on rough roads.

  • 【Safe To Use】The clip and the back are equipped with soft silicone pads, which will not cause any scratches to the phone. Clamps when put down and loosens when removed. Gravity is automatic. Simple and fast.

  • 【Advantages】 Triangular fixed, one-handed pick and place, silent design, arbitrary rotation.

  • 【Easy Handling】: Tool-free installation on this phone holder is gravity-responsive. Just clip it to the car vent and put your smartphone into the car phone holder, the car phone holder will automatically lock by gravity.

  • 【Widely Compatible 】Automatically close, skin-friendly texture, adjustable width, wide compatibility. The charging port is reserved at the bottom, with a thickened plaid non-slip silicone pad, which is more protective and stable and does not hurt the machine.

  • 【Friendly】: The silicone pad of this car phone vent holder can firmly fix the car vent without damaging or scratching the vent.

Specification

  • Material: Alloy+ABS+Silicone
  • Weight: 75G
  • Size:

Shipping:

  • Free shipping on orders over $30.
  • Orders will be processed within 7 business days of placing the order and shipped the day after the processing date. Orders are usually delivered within 7 to 14 business days.

Returns: Fast money back on any dissatisfaction within 15 days, 100% money back guarantee.

Notes:

  • Due to manual measurement, please allow slight measurement deviation.
  • Due to different display and lighting effects, the actual color of the item may be slightly different from the color shown 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);