Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration
Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration

Rabbit Vibrator 10 Speed Strong Dildo G-spot Massager Vibration

Specifications
Please select a specifications
10 sold
Price
$0.00
$36.42
Quantity
Free shipping over $59
Easy returns
Sustainably made
Anonymization

Specifications

Product features:10 Frequencies Vibration, One-click climax
Product material: Silicone + ABS
Product size: 185*50*32MM
Weight: 200g
Power supply mode: USB charging
Color: Green, Pink
Maximum noise: 50 dB
User Time: 60-70min

Package Included:

1 x Vibrator
1 x USB charging cable

Key Notes:

Press and hold the power button for 1.5 seconds to turn on/off the vibrator (after turning on the vibrator, click the power button to turn on the strong vibration function, which lasts for one minute)

With the vibrator turned on, tap the waveform button to toggle the frequency.

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.