50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
1/10
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
50 PCS - Simulated Butterfly Fluttering in The Wind
1/10

50 PCS - Simulated Butterfly Fluttering in The Wind

$14.99
$0.00
Save $-14.99
Quantity
Over $49.99 Free Shipping
30-day Zero-risk Return
100% Customer Satisfaction
Secure Payments
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.

Product Features

Suggestion: Alternate placement of multiple sizes is more realistic and better-looking!

Material: the butterfly outdoor wall decorations are made from PVC, waterproof, suitable for both indoor and outdoor. The metal stake is thin, easy to bend on the branch, bird house and you can adjust its length.

Wide Occarions: these garden butterfly stakes are suitable for gardens, potted plants, flower beds, lawn, home decoration,party favor supply, shopping mall layout, large park butterfly exhibition, butterfly painting decorative props.

Color: more than 10 colors and patterns, sent in random, some may be the same, but all of butterfly ornaments are beautiful.

Bring Life to Your Garden: butterfly ornaments are attached to their metal stake by spring, so they sway slightly in the breeze like real butterflies, and the wings can be extended or closed for different types of display.

Package includes: 50pcs coloful butterfly stakes