Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
1/6
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
Shoelace Magnets
1/6

Shoelace Magnets

$7.99
$15.98
Save $7.99
Color
Please select a color
Quantity
Product was out of stock.

Never tie your shoelaces again with these clutch magnetic shoelace holders! This magnetic lacing solution is the most simple and fastest way to ensure you never have to knot, tuck, tie, or hide your laces on the go. Save yourself some time, and just work the laces on either side of the magnet for a permanent lock. The stylish and clean look of the shoelace magnets makes a great choice for any outfit or footwear style.

  • Material: Plastic & Magnet
  • The easiest way to quickly get in and out of your shoe
  • Magnetic design for convenient use
  • The Shoe-lace magnet is the perfect solution for all individuals including athletes, travelers, commuters, or anyone who simply doesn't like untied laces

?

Our Risk-Free 30 Day Guarantee

  • Worldwide?Express?Shipping Available.
  • Ship within?24?Hours?after Payment with Traceable Tracking Number for Each Order.
  • Easy Return, Fast Refund, 100% Money Back Guarantee.
  • We truly believe that a good shopping experience makes our customers return to us.
  • We want you to be happy and satisfied, therefore, we offer a?Risk-Free 30 Days Guarantee to exchange or refund your money.

  • If you do not have a positive experience for?ANY REASON,we will do?WHATEVER it takes?to make sure you are?100% satisfied with your purchase.?
  • Buying items online can be a daunting task, so we want you to realize that there is absolutely?ZERO?RISK in buying something and trying it out.If you don't like it, no hard feelings we'll make it right.
  • We have?24/7?Tickets and Email Support. Please contact us if you need any assistance.
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.