Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
1/4
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
Multifunctional Waterproof Toilet Roll Holder
1/4

Multifunctional Waterproof Toilet Roll Holder

$32.99
$0.00
Save $-32.99
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
Secure Payments
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.

Don't put up with wet toilet paper anymore

Multifunctional Waterproof Toilet Roll Holder

waterproof toilet paper holder

 
Unique ''whistle'' outline, Novel and chic, Small and exquisite, Dotted bathroom

Through its transparent window, you can easily see how much toilet paper is left and with its large design, it will fit most toilet rolls up to 13cm in diameter.
The toilet roll holder is easy to install and can hold up to 5kg and the best part is no drilling involved.
Anti-skid storage platform, Honeycomb anti-skid design, Storage does not drop
Water and moist proof
Sawtooth paper design,Tear paper is easy and convenient
Not only is it waterproof. This novel and chic toilet paper holder is designed to hold your smartphone and has an extra drawer for wet tissue paper or any other item you prefer.

 

Specification:
 
Color: White
 
Size: 28.2x13x14cm
 
Weight: 630g
 
Material: ABS+AS+SEBS+PC

 

PACKAGE INCLUDES:

  • 1 x Multifunctional Waterproof Toilet Roll Holder