Log in
Create an account
For Women
For Women
Rose Vibrators
Dildos
Anal Toys
Butt Plugs
Lingerie
For Men
For Men
Masturbators
Pocket Pussy
Penis Rings
Anal Toys
Butt Plugs
Prostate Massagers
For Couples
For Couples
Cock Rings
Sex Game
Strap-Ons
Sex Furniture
Sexy Wear & Role Play
Remote Controlled Vibrators
Vibrators
Vibrators
All Vibrators
Clit Stimulator
Wand Vibrators
Anal Vibrator
Rabbit Vibes
G-Spot Vibes
Bullet Vibrator
Vibrating Underwear
Bluetooth Vibrator
Thrusting Vibrators
Tongue Vibrators
Lingerie
Lingerie
Red Lingerie
Black Lingerie
Plus-size Lingeries
See Through Lingerie
Role Play
Bra Sets
Suppleements
Suppleements
Rose Toy Charger
Sexy Toy Cleaner
Lubes For Sex
More
More
About Rose Toy
Sex Advice & Guide
Order Track
Order Track(old version)
Wholesale
More links
Log in
Create an account
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
Log in
Create an account
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
Enjoy FREE delivery on orders over $49 USD
Need Help: service@the-rose-toy-official.com
For Women
Rose Vibrators
Dildos
Anal Toys
Butt Plugs
Lingerie
For Men
Masturbators
Pocket Pussy
Penis Rings
Anal Toys
Butt Plugs
Prostate Massagers
For Couples
Cock Rings
Sex Game
Strap-Ons
Sex Furniture
Sexy Wear & Role Play
Remote Controlled Vibrators
Vibrators
All Vibrators
Clit Stimulator
Wand Vibrators
Anal Vibrator
Rabbit Vibes
G-Spot Vibes
Bullet Vibrator
Vibrating Underwear
Bluetooth Vibrator
Thrusting Vibrators
Tongue Vibrators
Lingerie
Red Lingerie
Black Lingerie
Plus-size Lingeries
See Through Lingerie
Role Play
Bra Sets
Suppleements
Rose Toy Charger
Sexy Toy Cleaner
Lubes For Sex
More
About Rose Toy
Sex Advice & Guide
Order Track
Order Track(old version)
Wholesale
Home
Vibrating Dual Penis Ring
1 / 4
Vibrating Dual Penis Ring
Specification
Vibration Version
Non~vibrating Version
Please select a specification
Price
$49.00
Quantity
Add to Cart
Buy it now
/** @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-1539149753700').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);
${data.module_title}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${data.module_title}
${item.title}
${item.title}
${item.content.replaceAll("{store_name}","Rose Toy")}
To display this card to customers, you need to go to "Booster & Store Conversion" to turn on the trust enhancement feature.
${data.module_title}
${item.title}
${data.module_title}
${item.title}
${item.content.replaceAll("{store_name}","Rose Toy")}
Description
Shipping Policy
Size Chart