Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs
Curtain Tiebacks Cotton Rope 2 Pairs

Curtain Tiebacks Cotton Rope 2 Pairs

BILISPARK Curtain Tiebacks Cotton Rope for Curtain Drapes for Home Outdoor Decor, Decorative Elegant Curtain Tassel Holdbacks, 4 PCS, Beige
Quantity
$14.99
$16.99
-$2.00
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Shipping
    • NO NEED TO DRILL OR HOOK
    • Easy to use
    • 4Pcs 24inch each
  • Great Value: Set of 4 curtain ties measuring 24 inches each offers excellent value, allowing you to easily match all curtains in your home for a cohesive and attractive look.
  • Expertly Crafted: Made from high-quality cotton, our curtain tie backs are intricately knitted by skilled artisans, featuring knot art for a unique and stylish appearance.
  • Easy to Use: Our outdoor curtain tiebacks protect walls without drilling holes or time-consuming installations. Simply hang the ties around your curtains for a convenient and effortless solution.
  • Versatile Design: The simple and classic knot and tassel design of our curtain tiebacks complements any decor style, from bohemian to European to rural, making it a versatile addition to any home.
  • Elevate Your Home Decor: Handmade from cotton cord, our tiebacks add a touch of rustic charm to your curtains and drapes, enhancing the decor of any room

Discover the perfect blend of functionality and rustic elegance with your cotton rope curtain tiebacks. Crafted from high-quality, recycled cotton, these tiebacks not only keep your curtains neatly in place but also add a warm, inviting touch to any room.

Each pair is handmade with attention to detail, ensuring durability and a refined finish that will stand the test of time. The soft, tactile texture of the rope is gentle on your curtains and provides a secure hold without causing any damage.

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.