Spookopper Metal Halloween Door Topper

$23.98
Style: 
people are viewing this right now
Quantity

Description

Transform Your Front Door into a Spooky Spectacle That Captivates Every Gasp!

Adorned with ghosts, bats, and spider webs, this eye-catching topper effortlessly creates a chillingly charming atmosphere that impresses every visitor. 

Make your home the centerpiece of Halloween festivities with minimal effort and maximum impact. Elevate your Halloween decorations instantly with our Spookopper Metal Halloween Door Topper!

Versatile Spooky Elegance with a Reversible Design!

Spookopper is not just a decoration; it's a versatile piece of art! Featuring a reversible design, you can hang it on either side of your door or window frame, offering double the spooky delight.

Perfect for adding a touch of Halloween magic to any space, whether it's your front door, mantle, or window!

WHY OUR CUSTOMERS LOVE Spookopper:

✔️ SPOOKY AND UNIQUE DESIGN: Featuring a captivating array of ghosts, bats, and spider webs, this door topper adds an irresistible touch of Halloween magic to any entrance.

✔️ REVERSIBLE FOR FLEXIBLE DECORATING: Enjoy the flexibility of a reversible design, allowing you to switch the orientation and display the topper on different surfaces, maximizing your decorating options.

✔️ DURABLE METAL CONSTRUCTION: Crafted from sturdy metal, this topper is designed to withstand the elements and maintain its spooky charm throughout the Halloween season and beyond.

✔️ EASY TO INSTALL: Quickly and effortlessly enhance your Halloween decor with a simple installation process, making it perfect for last-minute decorations.

✔️ GREAT GIFT IDEA: Delight friends and family with a unique and stylish Halloween gift that will be cherished for years to come, adding a touch of horror to their celebrations.

Hurry—Spookopper is flying off the shelves! Secure yours now to ensure your home is the spookiest on the block!

Package Includes:
1 x Spookopper Metal Halloween Door Topper

Specifications:
Pumpkin & Bat & Ghost & Cat:8*8inch
Witch:8*6.6inch
Moon:8*6inch
Material: Metal

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.