Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
1/8
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
Multifunctional Universal Stainless Steel Adjustable Positioning Ruler
1/8

Multifunctional Universal Stainless Steel Adjustable Positioning Ruler

$24.99
$29.99
Save $5.00
Buy More For Your Home!
Please select a buy more for your home!
Quantity
Barcode:

  • TIPS: All goods are authentic, with genuine patents, counterfeit must be investigated! Customers, please identify our products!!!
  • 😊If you are not satisfied with the goods you received, please contact us within 15 days after receiving, we will give you the best help!
  • 🚢 Shipping>>Worldwide express shipping available.
  • 🔥98.9% of customers buy 2 or more
  • Can be used for opening and positioning of tiles and wood.
  • It can be freely positioned, has a wide range of applications, and can be used in daily life.
  • With perfect thickness and quality, it feels very good when used, and it is not easy to damage.
  • Multi-directional adjustment is convenient and quick. One-click positioning, high efficiency.
  • Made of premium stainless steel, high hardness, rust-proof, anti-fall, not easy to deform, durable in use.

Specifications

  • Material: Stainless Steel
  • Hole Dia: 25mm, 40mm, 45mm
  • Semicircle Dia: 55mm
  • Size : 400x 72mm/ 15.75x 2.83inch
  • Color: Silver
  • Style: Stainless Steel/ Plastic

Package Included

  • 1 x Multifunctional Universal Stainless Steel Adjustable Positioning Ruler

Notes

  • Please allow 1-2CM differs due to manual measurement.
  • Due to the different monitors and lamplight, the picture may not reflect the actual color of the item. Thanks for your understanding!
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.