Free shipping worldwide over $50
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
10 / 12
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
Bicycle Helmet Turn Signal Light
30% OFF
cornfloweri

Bicycle Helmet Turn Signal Light

$25.99 $36.99
0 sold
Color
Qty

FEATURES

REMOTE CONTROL TURN LIGHT - Easy to install. Lightweight and durable bike helmet turning light that can be pasted on almost all kinds of helmet. It also can be used as backpack lights, warning lights and more.

WATERPROOF BICYCLE TAIL LIGHT - This turn signal is made of water resistant material, so it can be used in small to moderate rain. Your best partner for outdoor cycling.

USB RECHARGEABLE - The turn light is USB rechargeable, charging for 1-2.5 hours can use for 4-5 hours.

SET YOUR OWN LIGHT MODES - 6 light mode options: Red light always on - Red light breathing flashing - Red and blue light flashing - Left turn signal lamp - Right turn signal lamp - Double flashing. You can switch different modes according to your needs and different occasions to get the best lighting experience and protect yourself.

SPEC

Color: Red, Blue, Black

Material: Rubber + Plastic

Control mode: Switch + Remote Control

Light source: SMD+COB

Charging: USB

Size: 142*20*35mm

Charging time: 1.5-2H

Use time: 4-5H

Weight: 30g

Package Includes: 1 * Bicycle Helmet Turn Signal Light

NOTE

Please allow slight measurement deviations due to manual measurement.

Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed in the pictures.

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.