Free shipping worldwide over $50
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
1 / 8
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
✨Buy 2 get 1 free!✨Caulking Finisher
38% OFF

✨Buy 2 get 1 free!✨Caulking Finisher

$15.99 $25.99
0 sold
Amount
Qty
  • High-efficiency caulking artifact, greatly improving your work efficiency!
  • Want quick and perfect caulking? Hurry up and add to the cart!

 

Main Features


  • High-quality material: Ceramic tile joint filling tool is made of polyurethane material, durable, good toughness and wears resistance, not easy to break.

  • Home improvement helper: It is a good tool for smoothing seal lines, caulking lines, and completing most home improvement work, any edges, corners, crevices, etc.

  • Wide range of uses: Suitable for house renovations, store renovations, office decoration, for tile and wooden brick caulking cleaner and faster.

  • Easy to use: Hold the caulking tool and swipe lightly to quickly fill the gap between tiles, saving you a lot of time for beautiful seams.

 

Specifications

Product Weight
  • 80G
Product Size
(L x W x H)
  • 9.5 × 6.5cm / 3.7 × 2.6inches
Package Contents
  • Caulking Finisher × 1/3PCS
Material Polyurethane

 

Note

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.
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.