Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
8/10
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
Car Phone Holder with Parking Number Plate
8/10

Car Phone Holder with Parking Number Plate

$29.99
$59.99
Save $30.00
Color
Please select a color
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);

FEATURES

SLEEK DESIGN: This car phone holder boasts a minimalist design that integrates both a phone mount and a parking number plate, enhancing your car’s interior while providing a stylish way to hold your phone or sunglasses.

NO OBSTRUCTION TO VIEW: Its compact size ensures that it does not block your view while driving, allowing you to focus on the road with confidence.

360° ROTATION: Enjoy full flexibility with the 360° rotating feature, enabling you to adjust the angle of your phone for optimal visibility and convenience.

LARGE NUMBERS: The parking number plate features oversized digits for easy readability. It includes six sets of numbers to accommodate your number needs, and a sliding cover allows you to hide the numbers when not in use.

EASY INSTALLATION: With its adhesive backing, this car phone holder installs seamlessly in your vehicle without leaving any marks. It provides a stable, non-slip grip without requiring clips that could damage your car’s air vents.

SPEC

Size: 80mm*26.5mm

Color: Golden, Silvery, Black

Package Includes: 1 * Car Phone Holder with Parking Number Plate

NOTES

Ensure the surface is clean and dry before installation for optimal adhesion.

Please allow a small error due to manual measurement. Please make sure you do not mind before purchasing.