Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
1/8
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
Height Angle Adjusted Folding Phone Holder
1/8

Height Angle Adjusted Folding Phone Holder

$10.99
$17.98
Save $6.99
It's been recommended by 683 people on Facebook, Twitter and Instagram
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);
Weight: 0kg
Barcode:

Height Angle Adjusted Folding Phone Holder

Feature

  • Adjustable angle and height: Newly upgraded 3-in-1 multi-functional mobile phone holder, double bearing adjustment, height and angle can be adjusted at will, it feels like Transformers!
  • Multi-purpose: can be adjusted at will, anti-loss and anti-drop is very convenient, can also be turned into a car bracket in seconds, multi-purpose! Suitable for any mobile phone brand!
  • Easy-going and sticky: with the best removable adhesive, it doesn't fall off, you take it everywhere you go. 

Product Information

  • Material: Zinc alloy
  • Folded thickness: 0.15in
  • Dimensions: Length 2.8in Width: 1.6in
  • Weight: 44g
  • Color: black/gold/silver

Package includes: 1*Height Angle Adjusted Folding Phone Holder

Men's Wear