Lockways Anti-Swing Hanging Shower Caddy, 3 Shelves Large Capacity Shower Caddy Over Shower Head, Rustproof, No Drilling,Black

Lockways Anti-Swing Hanging Shower Caddy

$39.99
$46.99
-$7.00
Quantity

Description

Efficient & Secure Bathroom Storage
Transform your shower with the Bathroom Shower Caddy Hanging design that offers maximum storage without the mess Featuring an anti-slip rubber ring on the top and wall brackets, this hanging shower caddy stays firmly in place, even with heavy bottles Whether you choose to hang it over your showerhead or mount it on the wall, this shower storage hanging solution ensures a secure and stable fit

Sleek and Stylish Design for Your Shower
Upgrade your bathroom with this trendy shower caddy over showerhead Designed with a modern, sleek finish, this 3-tier organizer combines style and functionality Its open mesh design allows water to drain quickly, preventing mold and odors from forming The hanging shower organizer features a soap holder and 4 convenient hooks for towels, razors, and sponges, keeping everything within easy reach

Easy Installation, No Drilling Required
Set up your new showerhead caddy in no time with this easy-to-install over the showerhead caddy No tools, no drilling, and no mess—just snap the baskets together and hang it over your showerhead The rustproof, Sturdy design ensures long-lasting use, while the anti-swing construction keeps your essentials safe and secure, even in the steamiest showers

Maximize Your Shower Space
Make the most of your shower with the hanging shower shelf that’s perfect for organizing all your bath essentials With its 3-tier design, it easily holds shampoos, conditioners, body wash, and more The hanging shower caddy is crafted with a sturdy, rust-resistant metal frame, ensuring it withstands moisture and daily use while offering plenty of storage options for your bathroom

Convenient and Versatile Storage Solution
Stay organized with this practical hanging shower organizer, designed for both functionality and style Its tiered layout offers dedicated space for your toiletries, while 4 additional hooks allow you to hang razors, bath sponges, and towels The shower caddy hanging design ensures all your items stay securely in place without worrying about shifting or slipping, even in the most humid conditions
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.