14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
1 / 8
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
14CT Counted Cross Stitch Bookmark - Books(18*6CM)、[Everydayedeals]
Save $-9.30
EDS

14CT Counted Cross Stitch Bookmark - Books(18*6CM)

$9.30
23 sold
Qty 3000 in stock

Eco-cotton Thread Double-sided 14CT Counted DIY Cat Dog Handmade Cross Stitch Bookmark Artwork Canvas Embroidery Kit Needlework Book Tab Ornaments Craft
Feature:
1. A guide graphic composed of different numbers and symbols, tells you where to draw the grid and which color line should be used. Learn how to get started.
2. The natural ecological cotton used is soft, colorful and durable, making your Cross Stitch silky, vivid and long lasting.
3. The cross-stitched artwork will bring you a pleasant time and a sense of accomplishment when completing. It can be used as a home decoration, or as a unique, meaningful and irreplaceable gift for your loved ones.
4. The product has the front and back sides. After the front and back sides are repaired, they can be stitched together with the tassel.

Specification:
Material: cotton
Canvas size: 22x8cm/8.66x3.15in
Drawing size: 18x6cm/7.09x2.36in
Cross stitch cloth type: 14CT 2 strands(canvas without printing)

Note:
The product does not contain frame.
The color block in the drawing does not represent the color of the embroidery thread. Please carefully identify the symbol or the serial number corresponding to the color block, and select the thread number according to the serial number requirements.
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
Please allow 1-3mm measuring deviation due to manual measurement.

2 X Embroidered Cloth
2 X Embroidery Needles
1 X Embroidery Thread Set
1 X Manual
1 X Tassel

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.