Free shipping worldwide over $50
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
8 / 8
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
🐾Pet Toy Flying Saucer Ball
0% OFF

🐾Pet Toy Flying Saucer Ball

$29.99
0 sold
Type
Color
Qty

The ultimate pet toy for your furry friend! Designed to keep your pet entertained and engaged for hours on end, this innovative toy has the unique ability to automatically return to ball form after being tossed for seconds.

Features

  • 🐕 Made of durable, non-toxic materials that can withstand the toughest chews. With its built-in vents, this toy provides a secure and comfortable grip for your pet, allowing them to grab, toss and carry with ease.

  • 🐩 But that's not all - the ball also comes with a flashing light, adding an extra element of fun and excitement to playtime. The light is activated by motion, so every time your pet interacts with the toy, it lights up and grabs their attention.

  • 🐈 Whether your pet likes to play indoors or outdoors, it's the perfect toy for any occasion. Its versatile design allows it to be used as a Frisbee for long catch games or a ball for interactive playtime.

  • 🎉 The design of concave-convex texture not only has visual impact, but also conforms to the principle of anti-slip. Lighting Design. You can step on the flying butterfly ball, easily carry it, and take it away.

Product Specification

  • Material: Plastic

  • Function: Flash

Product Package

  • Pet Toy Flying Saucer Ball × 1

Notes

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.
You May Also Like Don't Like These?

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.