🔥Black Friday - Save Up To 20% Off🔥
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
10 / 20
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts
0% OFF
SOD

(30*40cm)Wooden Decorative Frames Hanger - 5D DIY Diamond Crafts

574167.03

$10.25
183 sold
Color
Qty 8 in stock
Wood Photo Frame Diamond Decorative Painting DIY Picture Frames Poster Hanger for Painting Core Wall Art Photos Decor
Feature:
Simple and light, easy to store.
With simple tools and operating steps, you can mount it.
A decorative painting Diamond Painting can be hung up to add a beautiful impression to the home and office.

How to DIY?
The operation combination of this product is very simple and easy. You only need to put the wooden sticks into the hanger, fix the long ribbon on the two sides of the wooden stick, and fix the hanging ears on the two corners below the hanger.

Specification:
Color: Light Gray/Dark Gray/White/Rose/Navy Blue
Material: PVC+wood stick
Adapted drawing core size: as shown

Note:
1. Due to the different monitor and light effect, the actual color of the item might be slightly different from the color showed on the pictures. Thank you!
2. Please allow 1-2cm measuring deviation due to manual measurement.
3.This is an unpainted frame.

Package  Content:
1 X Wood Stick
1 X Pvc Picture Frame
1 X Ribbon
2 X Hanging Tassel
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1736477762476').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);