10 Frequency Heating Vibration Rainbow Vibrator
$48.99
Specification:
Product A
${data.targetOption}
Quantity
Share the love
Free shipping over $59.9
14 Days Return Policy
Discreet Packaging
Secure payments
Description
Product Parameters
Sharp Weapon: Sharp Weapon(N)
Electrified: Electrified(Y)
Product detail
Whether it is waterproof: waterproof
Package size: 250*82*40mm
Function: 5-10 frequency vibration, customizable heated
Weight: 130g
Size: 190*56*33mm
Case design: ergonomic gold angle
Charging type: USB
Maximum noise level: 40 decibels
Material: silicone + ABS
Package includes:
Vibrating rod X1
USB data cable X1
Note:
Color deviation may vary due to different monitor settings.
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
The review would not show in product details on storefront since it does not support to.
You may also like
${function() {
const force_image_size = "1";
const product_hover_on = true;
const product_show_sale_label = false;
const product_save_type = "amount";
const badge1 = "";
const badge2 = "";
const badge3 = "";
const product_title_mobile_hide = false;
const product_title_style = "full";
const enable_collection_thumb_image = true;
const variantNames = [];
const thumbMaxNum = 4;
const suffix_id = "-product-recommendations-pc" || '';
const url = data.url;
const productId = data.id;
const price = data.price;
const productAvailable = data.available;
const productVariants = data.variants || [];
const images = data.images || [];
const image = data.image || {};
const imageWidth = image.width;
let imageHeight = image.height;
let image2 = null;
let imageHoverOn = false;
if (force_image_size !== 'natural') {
imageHeight = imageWidth * force_image_size;
}
if (product_hover_on) {
for (let i = 1; i < images.length; i++) {
const img = images[i];
if (img.src && img.src.indexOf('video=') === -1) {
image2 = img;
imageHoverOn = true;
break;
}
}
}
let compareAtPrice = data.compare_at_price;
let offRatio = data.off_ratio;
let discountMaxUrl = url;
const showFrom = data.price_min != data.price_max ? true : false;
for (let i = 0; i < productVariants.length; i++) {
const variant = productVariants[i];
if (variant.price == price && compareAtPrice < variant.compare_at_price) {
compareAtPrice = variant.compare_at_price;
offRatio = variant.off_ratio;
variant.available && (discountMaxUrl = variant.url);
}
}
const soldOutText = "Sold out";
let soldOn = false;
let saleOn = false;
if (productAvailable) {
if (product_show_sale_label && price < compareAtPrice) {
saleOn = true;
}
} else {
soldOn = true;
}
const diffPrice = compareAtPrice - price;
const saveLabelContent = product_save_type == 'percent' ? (offRatio + '%') : ` `;
let saveText = "Save {off_ratio}";
saveText = saveText.replace('{off_ratio}', saveLabelContent);
const productTitle = data.title;
const heading = "title" === 'subtitle' ? data.brief : productTitle;
const variantValues = [];
const showVariants = [];
if (data.need_variant_image && enable_collection_thumb_image && variantNames.length > 0) {
for (let i = 0; i < (data.options || []).length; i++) {
const option = data.options[i];
const optionName = option.name.toLowerCase();
if (variantNames.includes(optionName)) {
for (let j = 0; j < productVariants.length; j++) {
const variant = productVariants[j];
const value = variant.options[i].value;
if (!variantValues.includes(value)) {
variantValues.push(value);
showVariants.push(variant);
}
}
break;
}
}
}
return `
${showVariants.map((item, idx) => {
let showMoreHtml = '';
if (idx == thumbMaxNum) {
showMoreHtml += `
`;
}
return `
${showMoreHtml}
`;
}).join('')
}
`;
}()}
`).join('')}
${heading}
FromRecently viewed
${function() {
const force_image_size = "1";
const product_hover_on = true;
const product_show_sale_label = false;
const product_save_type = "amount";
const badge1 = "";
const badge2 = "";
const badge3 = "";
const product_title_mobile_hide = false;
const product_title_style = "full";
const enable_collection_thumb_image = true;
const variantNames = [];
const thumbMaxNum = 4;
const suffix_id = "-recently-view-pc" || '';
const url = data.url;
const productId = data.id;
const price = data.price;
const productAvailable = data.available;
const productVariants = data.variants || [];
const images = data.images || [];
const image = data.image || {};
const imageWidth = image.width;
let imageHeight = image.height;
let image2 = null;
let imageHoverOn = false;
if (force_image_size !== 'natural') {
imageHeight = imageWidth * force_image_size;
}
if (product_hover_on) {
for (let i = 1; i < images.length; i++) {
const img = images[i];
if (img.src && img.src.indexOf('video=') === -1) {
image2 = img;
imageHoverOn = true;
break;
}
}
}
let compareAtPrice = data.compare_at_price;
let offRatio = data.off_ratio;
let discountMaxUrl = url;
const showFrom = data.price_min != data.price_max ? true : false;
for (let i = 0; i < productVariants.length; i++) {
const variant = productVariants[i];
if (variant.price == price && compareAtPrice < variant.compare_at_price) {
compareAtPrice = variant.compare_at_price;
offRatio = variant.off_ratio;
variant.available && (discountMaxUrl = variant.url);
}
}
const soldOutText = "Sold out";
let soldOn = false;
let saleOn = false;
if (productAvailable) {
if (product_show_sale_label && price < compareAtPrice) {
saleOn = true;
}
} else {
soldOn = true;
}
const diffPrice = compareAtPrice - price;
const saveLabelContent = product_save_type == 'percent' ? (offRatio + '%') : ` `;
let saveText = "Save {off_ratio}";
saveText = saveText.replace('{off_ratio}', saveLabelContent);
const productTitle = data.title;
const heading = "title" === 'subtitle' ? data.brief : productTitle;
const variantValues = [];
const showVariants = [];
if (data.need_variant_image && enable_collection_thumb_image && variantNames.length > 0) {
for (let i = 0; i < (data.options || []).length; i++) {
const option = data.options[i];
const optionName = option.name.toLowerCase();
if (variantNames.includes(optionName)) {
for (let j = 0; j < productVariants.length; j++) {
const variant = productVariants[j];
const value = variant.options[i].value;
if (!variantValues.includes(value)) {
variantValues.push(value);
showVariants.push(variant);
}
}
break;
}
}
}
return `
${showVariants.map((item, idx) => {
let showMoreHtml = '';
if (idx == thumbMaxNum) {
showMoreHtml += `
`;
}
return `
${showMoreHtml}
`;
}).join('')
}
`;
}()}
`).join('')}