Twmpmm 5/10/20Pcs Soft Cloth Glasses Bag Drawstring Portable Linen Fabric Eyeglasses Pouch Pocket Multi-Functional Eyewear Accessories back to school

Sold 87 only 999999+ item(s) left
$20.93 $41.85 Save $20.92
Color:  5PCS
Quantity
Free worldwideFree shipping on orders over $34
Free returns
Sustainably made
Secure payments
Description

 Place Of Origin : ZHE JIANG  Province
Main Material : Cotton Cloth
Model Number : Sunglasses Bag
Pattern Type : Solid
Place Of Origin : FU JIAN Province
Hardness : SOFT
Interior : No Pocket
Exterior : Open Pocket
Lining Material : Linen
Decoration : Other
Gender : Unisex
Size : Mini(Max Length<20cm)
Occasion : Versatile
Closure Type : No Zipper

Brand Name : eTya
CN : Tibet
Feature 1 : Eyeglasses Pouch
Feature 2 : Lanyard Cloth Bags
Feature 3 : Optical Glasses Case
Feature 4 : Linen Fabric
Style : Fashion, Portable
Material : Linen Fabric
Size : 18*9 cm/7.09*3.54 inch
Quantity : 5/10Pcs

5/10Pcs Fashion Portable Linen Fabric Eyeglasses Pouch Multi-Functional Eyewear Case Optical Glasses Lanyard Cloth Bags





  • 100% Brand New,High Quality!




  • Type: Eyeglasses Pouch




  • Style: Fashion, Portable




  • Material: Linen Fabric




  • Color: Random multicolor




  • Size: 18*9 cm/7.09*3.54 inch




  • Quantity: 5Pcs




  • Package Included: 5Pcs Eyeglasses Pouch ( Eyeglasses pouch only,other accessories not included!)





 


Features:


Suitable for high-end myopia, reading glasses, sunglasses, mobile phones, jewelry, etc.


The outside of the glasses bag is linen, which is easy to clean. The inside of the mirror bag is soft and delicate and will not grind the lens.


It is convenient and light, easy to carry, and has a drawstring in the mouth of the mirror bag for free telescopic.


 


Note:


    1. There is 2-3% difference according to manual measurement.  Please check the size carefully before you buy the item.


    2. Please note that slight color difference should be acceptable due to the light and screen.


    3. If you make a big order , please contact me, we would offer some discount.



 

















 






WHAT ABOUT REFUND?

 

🔥Fast refund,100% Money Back Guarantee.

If your product is defective or doesn't work properly, let us know and we'll send you a replacement one.

We believe in our products so much that we offer a 30-day No-Hassle refund policy. If you're unhappy about your purchase, send us the product back and we'll refund your money immediately.

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.