VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
1/5
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
VELMORE - Pillow Neck & Shoulder Massager
1/5

VELMORE - Pillow Neck & Shoulder Massager

$143.99
$299.00
Save $155.01
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);
SKU:
Weight: 0kg
Barcode:

“Neck pain after long work hours?”
Say goodbye to tension with our Smart Neck Massager – trusted by over 10,000 US customers!
Heat + Pulse Therapy | Lightweight | 15-Min Auto-off
Limited Stock – Order Now & Get Free Shipping!

VELMORE rhythmic rollers mimic the soothing touch of a professional masseuse, easing muscle tension, melting stubborn knots, and enhancing circulation. Just 10 minutes each day promotes lymphatic drainage for a naturally youthful, less puffy appearance, and deep, restorative sleep. Ergonomically crafted to fit your neck, shoulders, back, and more, VELMORE gently unlocks daily comfort, beauty, and effortless relaxation—whether at home or on-the-go

Cordless Operation
USB-C Rechargeable
Intensity: Gentle, Moderate, Intense
Heat: Mild, Hot
Mode: Clockwise, Counter Clockwise, Deep Tissue Massage