Free shipping worldwide over $50
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
1 / 8
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
❤️Multifunctional Car Dashboard Mobile Phone Holder
42% OFF
outdhaven

❤️Multifunctional Car Dashboard Mobile Phone Holder

$14.99 $25.80
0 sold
Qty

Main Features

  • MULTI-PURPOSE MORE CONVENIENT
    The sunshade baffle, rearview mirror, and instrument panel can be installed. It can be installed in the rear-view mirror to rest in traffic jams.

  • 360° STEREO ROTATION
    Eyes do not leave the road, hands do not need to leave the steering wheel, look directly at the road without blocking the line of sight. 180-degree angle conversion from front to back, 360° horizontal rotation, 360° vertical rotation, flexible and light when rotating, with rubber ring inside each rotating part, very comfortable to adjust.

  • HORIZONTAL AND VERTICAL SCREEN, EASY TO SWITCH
    You can adjust the angle of view of the phone according to your preferences, finger operation, suitable for a novice.

  • SMART DESIGN
    Head-up navigation, suitable for multiple scenes, one-handed operation, horizontal and vertical screen switching.

    Specification

    Materials
    • ABS
    Product Size
    •  25CM × 20CM × 8CM
    Package Contents
    • Car Multifunctional Mobile Phone Bracket × 1

    Note

    • 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.

    You May Also Like Don't Like These?

    Write a Review
    Customer Reviews
    Wow you reached the bottom
    Newest
    Most liked
    Highest ratings
    Lowest ratings
    ×
    class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
    The review would not show in product details on storefront since it does not support to.