🔥Black Friday - Save Up To 20% Off🔥
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
1 / 14
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
DIY Cross Acrylic Diamond Painting Hanging Ornaments
0% OFF

DIY Cross Acrylic Diamond Painting Hanging Ornaments

1538736.01

$20.99
0 sold
Qty 5 in stock
Specification:
Product size: 240.00x220.00x10.00mm
Product size: 9.45x8.66x0.39inch
Product: DIY diamond painting acrylic dot diamond pendant
Material diamond type: exquisite high-transparent acrylic plate + crystal diamond special-shaped bright diamond
Project: DIYSingle-sided diamond
Packaging: Color box packaging
This project is a DIY diamond painting sticker wall hanging artwork. After the project is completed, you can hang it in the living room, bedroom, window, balcony and hang it anywhere, continuing to share your experience, with your family or with friends!



Note:
Due to different monitor settings and lighting conditions, the actual color of the item may vary slightly from the pictures. Thanks for your understanding!
Please allow a 1-2 cm difference in measurements due to manual measuring.



1 x point-drilled pendant (rhinestone needs to be pasted)

1 x hang chain

1 set x diamond packs




/** @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);