Buy 3 get 1 free. 8%OFF,Code is VCS08. Free shipping over $55 . No Tax. 【Click】
1 / 6
0% OFF
VCS

5pcs Plastic Cross Stitch Embroidery Hoop Ring Craft Sewing Machine Frame

198193

$10.92
16 sold
Quantity
Qty 2976 in stock

👉👉👉Order 50+, Free Worldwide Shipping

👉👉👉No tax

👉👉👉 Shipping time: about 15 to 20 days

🔔🔔If your order has not been shipped after 3 days, the warehouse has no stock and needs to wait for stock,it takes about a week to wait for stock , but you can send the customer service email to request a replacement product.

5pcs Plastic Hand Embroidery Hoop Ring Cross Stitch Machine Craft Sewing Frame Set

Features:
It is especially suitable for the beginners of cross stitch.
Made of plastic material, durable and practical.
Tighten the fabric for cross stitch and embroidery.
Use the thumb screw to adjust the tightness and firmly grasp the fabric.

Specifications:
Material: plastic
Color: as shown (5pcs/set)
Diameter: 4.9 \", 6.4\", 7.7\", 9.5\", 10.6\"


Embroidery Usage Description:
1, First,separate the inside and outside of the embroidered frame.
2, This embroidered rack will be slightly loose
3, The outline of a flat table (down)
4, Embroidered cloth, embroidered in the hoop (embroidered side is down).
5, The inner frame should be a little hard, with the embroidered cloth into the frame (the inner frame is down).
6, Try to tighten the embroidered cloth tight, can be embroidered state.

Embroidery skills:
1. The embroidered shed on the flat table is the best.
2. Before the embroidered shed, tighten the first adjustment, embroidered cloth can be tighter.
3. When you drum, you need an external frame, embroidered cloth and an inner frame facing the desktop.

Be careful:
Please allow the 1-3cm error to be measured by hand to make sure that you do not mind ordering.
Please note that the color may have a color difference, because the location of the picture is different.


Package Content:
5 X Cross Stitch Embroidery Hoop

At vipcrossstitch,we have made sure that the items are delivered to our customers as quickly as possible. You will receive your order within 15 to 20 working days from the date of your order.

Verification

 A confirmation email will be sent to you once the order has been authorized and confirmed. We will prepare your order immediately after verification. During this period it is difficult for us to change or cancel your order. However, we will do our best to support your request.

Processing/Shipping

It usually takes 1-2 working days for us to process your order (if all items are available). Please note that this does not include holidays and weekends.

If you encounter the phenomenon that the product is out of stock, you need to wait 4 to 6 days to start shipping,thank you for your patience, but you can send the customer service email to request a replacement product.

👉 Notice:

After the item is shipped, you will receive an email informing you that the product has shipped, the email will include the shipping address, tracking number, carrier, product purchased.

If you haven't received the shipping email (or tracking number) after 5 days,that's because one of the products you purchased is not in stock and therefore not shipped,you can send an email to the customer service

email (service@vipcrossstitch.com) to ask if the product can subcontract for delivery, or replace an out-of-stock product with another.

Due to the time difference between countries, our customer service has no way to reply in time, but we will reply within 24 hours, except Saturday and Sunday.

Please note that the items you ordered may be shipped from different warehouses,or because the product is not in stock, so they may not arrive together in the same package or the same day. When we ship, if the

product is shipped in two packages, you will receive an email with the shipping address, tracking number, carrier, and product purchased.

🔔🔔🔔If the product in the package you received is incomplete, it is because we have divided the product into two packages. If you have any questions, you can contact our customer service staff (service@vipcrossstitch.com)

Transportation time Note:

(Estimated time of arrival) 15-20 working days

However, we have no control over the process and timeline of customs clearance.It is not uncommon for packages to be held by customs for 2 to 4 weeks in transit, especially during peak delivery periods.

* Shipping time is estimated and starts from the shipping date, not the date of the order. This may take longer than expected due to invalid addresses, customs clearance procedures, or other reasons.

* Please send a ticket within 6 months of shipping if the package does not arrive on time. Our representative will get back to you within 24 hours. Note that overdue requests may not be accepted.

  • Please make sure that your address details are correct. If you did not receive our product at the wrong address, we will only refund half or you will have to pay the shipping cost from us to receive the package again.

Affected by Covid-19 there will be delays in delivery.

Track Your Order

It may take up to 5 business days after your order has shipped for your tracking information to become available online (it might take longer depending on how fast the postal services are processing shipments).

Package logistics inquiry link:

https://www.17track.net/en

You May Also Like Don't Like These?
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.
const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);