BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
BOTTLE LIGHTS ( Battery Included - Replaceable )
2 / 14

BOTTLE LIGHTS ( Battery Included - Replaceable )

$3.97
$7.78
color
Please select a color

Quantity

Don't Waste Any Empty Bottles, They Are All Artwork. It is also a good gift for your Kids, Friends and Families.

Instantly turn any bottle into a beautiful lamp,Free battery,Your room will soon be basked in an ethereal glow.

Features:

Enjoy DIY FUN: Our Bottle Lights can be Easily Designed to any DIY Shape You Like.

Widely Used: Suitable Party, Wedding, Barbecue, Bar, Jars, Square, Garden, Indoor and Outdoor Decoration, etc.

IP67 Waterproof: The wine bottle cork Lights is IP67 waterproof (the cork part not), The copper wire part can be put into water to achieve amazing atmosphere effects.

Include Batteries: You don’t have to buy batteries yourself.

Specifications:

  • Copper wire length: 3.28 ft
  • Led Qty per light: 10 pieces
  • Power Supply: 3x LR44 battery (included)
  • Light Color: MULTICOLOR, WARM WHITE; WHITE; BLUE; RED
  • Space between LEDs : 10cm / 4 inches
  • Voltage:3V

🌎 Worldwide Shipping ✈  
You may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉
🔒 100% Risk-Free Purchase 🔥 
If you bought it and felt that it is not for you, don't worry. Just shoot us a message at contact  support@terrain-hill.com, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.

Our Warehouse

Please consider any holidays that might impact delivery times.Please consider the transportation methods and unexpected situations that may affect the delivery time.

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.