Sitewide Buy 3 Get 1 FREE(Add 4 to Cart)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
1 / 11
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)
0% OFF

4pcs DIY Rhinestone Diamond Painting Glasses Frame No Lens (Birthday-1)

1911255.02

$13.34
0 sold
Qty 3000 in stock
Specification:

Product size: 4.72x3.94x0.39(inch)

Product name: Gem Art Halloween Glasses Frame

Material: plastic + pet

Packaging: color box packaging

Wearable glasses frame pattern

1. Open the package and check whether the gem art tools are complete;

2. According to the resin gem color code, select a color on the plate. If you paste the same color at one time, the speed can be increased;

3. Find the corresponding color code on the drawing board and start pasting until completed;

4. After completion, in order to stabilize the gem art, you can put some book on the canvas for a while;

5. It is finally completed. Fasten the holes on both sides of the pet pattern plate to the glasses frame, and the assembly is complete


Note:
Due to the different monitor and light effect, the actual color of the item might be slightly different from the color shown in the images. Thank you!
Please allow a 1-2 cm difference in measurements due to manual measuring.



4 x Glasses Frame
4 x Pet Dot Diamond Pattern Piece
4 x Spot Drilling Tool Kit


DIY Gem Art Party Glasses Frame 4PCS No Lens

Features:

1. Dazzling Party Accessory: This glitter gem eyeglass frame set transforms a simple plastic frame into a fully jeweled birthday accessory, combining the satisfaction of DIY crafting with the immediate reward of a wearable sparkling party prop.

2. Guided Crafting Steps: The birthday party decoration eyeglass kit includes step-by-step instructions that walk users through opening the package, sorting gems by color, applying them to the coded pattern, and snapping the sheet into the frame securely.

3. Four Frames Included: With four separate no lens costume glasses frames per package, this set is well-suited for small birthday groups, family crafting sessions, or party table activities where multiple guests participate in making their own gem-decorated accessory.

4. Photo Booth Essential: The rhinestone gem glasses frame adds instant fun and sparkle to photo booth setups, making it a popular choice for birthday party photo stations where guests want a memorable and visually striking prop for pictures.

5. Lasting Gem Adhesion: The adhesive-coated PET sheet used in the handmade gem art glasses kit ensures that once gems are pressed firmly into place, they remain securely bonded throughout normal party wear and short-term display use.

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