🛒🛒Extra 5% OFF Code: 【VAVD2】 + Free Shipping Over $69
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
1 / 10
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)
You May Also Like Don't Like These?
0% OFF
TTD

Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Art (305mm)

638681.02

$13.99
103 sold
Qty 99 in stock
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Picture Canvas Wall Art Craft Home Decor
Feature:
Decorative sense: Use this wooden hanging scroll to decorate your living space, upgrade the look and feel of the walls, and decorate your home and office.
Suitable size: This size is very suitable for hanging artworks, photos, pictures, movie and band posters, maps, etc., to make your wall decorations more popular.
Quality Assurance: This kind of frame is made of solid wood, which is strong, durable, moisture-proof and anti-corrosion. Our authentic teak wood grain creates a warm, decorative style, adding elegance and art to any room.
Multifunctional: You can change the items you want to hang at will! The magnetic hanging scroll is divided into two parts. Each part is composed of two wooden strips and a super magnet. The magnet can fix the wooden strips together. You can reuse it again and again without damaging or puncturing your canvas, posters, photos and other artworks
Easy to install: The magnetic hanging scroll is very easy to install-you only need nails or thumbtacks. The powerful magnetic stripe and white wood keep posters, canvases, tapestries, even fabrics and decorative tea towels flat and beautiful.

Specification:
Material: black teak magnet hanging scroll
Length: 204mm/8.03in; 305mm/12.01in; 407mm/16.02in; 508mm/20in

Note:
Due to the production and cutting process, there may be some carbon dust on the surface of the product. This is a normal phenomenon. It is not a quality problem. Use a soft cloth to wipe it lightly.
Please allow 1-2cm measuring deviation due to manual measurement.
Package Content:
4 X Magnetic Teak Woods
1 X Rope
You May Also Like Don't Like These?
Collection list
DIY Ornament
DIY Bag
DIY keychain
DIY Pendant
DIY Coasters
Christmas
DIY Storage Box
Halloween
DIY Bookmark
DIY Free Sticker
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.