Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook
Non-marking Stainless Steel Washbasin Hook

Non-marking Stainless Steel Washbasin Hook

Price
$0.00
$13.99
Save  $-13.99
Quantity
Please select a quantity
Quantity
Worldwide shipping
Free returns
24/7 customer support
Secure payments
Suitable for kitchen, bathroom and living room, etc., strong load-bearing, stainless steel hook, which is waterproof, moisture-proof, and no rust, helping to save space and keep clean.

    Main Features

    • [STAINLESS STEEL MATERIAL] These hooks are made of high-quality, solid, thick stainless steel, with strong load-bearing capacity, sturdiness, and durability, waterproof, rust-proof and moisture-proof, and easy to clean.

    • [SAVE SPACE] The hook can be installed in the kitchen, bathroom, living room, and other places to store drain baskets, washbasins, rain gear, rags, and other items, which greatly saves space and makes the room tidier.

    • [EASY TO INSTALL] No need to punch holes, use the included non-marking stickers to fix on the wall, the installation is very convenient, will not damage the wall. Please hang the object 12 hours after installation.

    • [APPLICABLE WALL] The hook can be installed on smooth ceramic tiles, solid wood, metal, marble, smooth and frosted glass, etc. It is not suitable for uneven walls and wallpaper.

    Using Methods

    Specifications

    Product Weight
    • 78G
    Package Contents
    • Non-marking Stainless Steel Washbasin Hook × 3/5/8
    • Seamless Wall Sticker × 1
    • Opp Bag × 1
    Color Silver
    Material Stainless Steel
    Product Size

    Note

    • 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.
    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.