PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
1/7
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)
1/7

PORTABLE HAND-WASHING PAPER 5 BOXES(100PCS)

$16.99
$33.95
Save $16.96
Quantity
SKU:
Weight: 0kg
Barcode:

🎉🎉2020 holiday promotion, time limited buy more save more a precious gift  🎉🎉

Travel portable soap paper always protects family members to take care of health and hygiene cleaning good partner. Environmental sanitation, portable, one can clean your hands. Adopt environmental protection material to make, environmental protection has no peculiar smell, candy color design is practical and beautiful.



🧼Features:

  • Each box contains 20 tablets, one of which can be washed clean.
  • Suitable for all kinds of people, green and healthy.
  • A variety of colors are available, small and lovely.
  • Substitute soap dissolves in water.
  • Compact and easy to carry.

    🧼Specifications:

    • Product material: plastic shell + soap papers
    • Color: Pink / Yellow / Blue / Purple (The color will be sent in random.)
    • Number: 20 pcs soap papers / box 
    • Weight: 15 g / box

    🎁Package Includes:

    • 5 Boxes Portable Hand-Washing Papers (100 pcs)
    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.