Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
9/10
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
Mountain Bike Electronic Horn Bell
9/10

Mountain Bike Electronic Horn Bell

$33.99
$59.99
Save $26.00
Color
Please select a color
Quantity
/** @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);

2-in-1 design with bike light and horn, this bike light has a very practical function. The water resistant design ensures that it is not easily damaged by rain and has a long service life. 

Features:

【110dB loud bicycle horn】The electric bicycle bell with a sound volume of 110 decibels effectively warns nearby people and vehicles of traffic accidents even at a distance.

【Waterproof, Dustproof, Shockproof】The electric bike bell is made of  ABS+Rubber material, sealed, dustproof, IPX5 waterproof and shockproof. Therefore, the bike bell can meet your requirements when riding outdoors, even in windy and rainy weather.

【USB Rechargeable】With Built-in 1200mAh lithium battery,used more convenience .With USB charging port, approx. 225 minutes In Strong Light Mode.

【Upgrade Design】Bicycle horn with stylish and compact appearance that complements your bike. Fixed by straps, which is easier to install and disassemble, no tools required, easy to use.

 

Specifications:

  • Item Name: Bicycle Light
  • Light Beads: 12 COB Wicks
  • Speaker Volume: Approx. 80-110dB
  • Remote Control: Split Remote Control
  • Battery Capacity: 1200mAh (Battery Included)
  • Waterproof Rating: IPX5
  • Endurance: Approx. 225 minutes In Strong Light Mode
  • Light Mode: Strong Light/Low Light/Flashing/SOS
  • Material: ABS+Rubber material
  • Size Details: 7cm x 4cm x 4cm/2.76" x 1.57" x 1.57" (Approx.)

Package Includes:

  • 1 x Bicycle Light
  • 1 x User Manual
  • 1 x USB Charging Cable
  • 1 x Split Rocker