🔥49%OFF🚲Bicycle Rack Storage - Factory Outlet

people are viewing this right now
$9.99
$17.20
-42%
Color:  Orange
Size:  FOR ROAD BIKE
Buy More Save More:  Buy 1
Quantity
Customer Reviews

Here are what our customers say.

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.

Description

✅If you are not satisfied with the goods received, please contact us within 15 days after receipt, and we will give you the best help! Please don't worry!
✅Shipping>>Worldwide Express Shipping Available
✅Payments Via PayPal® and CreditCard.
Tracking Number for Every Order

🔥99.3% of Reviewers Recommends This Product

As a bike lover, you will definitely worry about the parking of bicycles. But now, we have produced a creative bicycle parking buckle, which can perfectly solve the problem of bicycle parking. Let parking also become a fashion.  

Features:

🚲Small and beautiful, saving space

Can be put into different states according to your own preferences.

🚲Fit the actual design

The curved buckle perfectly fits the shape of the bicycle tire. The upgraded bike buckle adds two rollers at the opening to help the tire smoothly enter and exit the buckle.

🚲Use high-quality PC material

The raw material of the product is made of high-quality PC, which is durable.

🚲Unique corner design

This product adds a personalized design that corners can hang items. You can put a helmet or gloves. The keychain hangs on the bicycle parking buckle.

Installation Method

Detail:

Mountain bike (big size):8cm*7.5cm*4cm / 3.14inch*2.95inch*1.57inch
(fit a 40mm to 80mm tire)
Road bike (small size):4cm*4cm*2cm / 1.57inch*1.57inch*0.78inch
(fit a 28mm to 39mm tire)

Package includes:

  • 1X parking rack
  • 2X expansion screw
  • 2X screw

PRODUCT ADVANTAGE

  • Small and compact, the bike rack is easy to set up, use, and its minimalist design is easy on the eyes.
  • Mounts in minutes using the screws and wall plugs provided to give you beautiful bike storage
*Note: When mounted vertically, Bicycle Rack Storage requires the rear tire to rest on the ground. 

Click on "ADD TO CART" to get yours now! 

🛒Payments Via PayPal® & Credit Card

🌎 Worldwide Shipping ✈
Please do note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track them every step of the way! Cool things are worth waiting for! 😉

🔒 100% Risk-Free Purchase 🔥
If you bought it and felt that it is not for you, don't worry. Just contact us and we will provide you with a replacement or refund to ensure correctness. 100% simple and risk-free process.