Dog Barking Control Training Devices Deterrent with LED Flashlight

Dog Barking Control Training Devices Deterrent with LED Flashlight

$36.00
$49.00
Save $13.00
Color : Black A
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);
Description

Specification - Style A
Main Colour: Black

Main Material: ABS

Battery: 800mAh

Item Size: 12 * 4.7 * 2.5cm/4.72 * 1.85 * 0.98in

Item Weight: 95g/3.35oz

 

Specification - Style B

Main Color: Black

Main Material: ABS

Battery: 800mAh

Item Size: 12.3 * 5.2 * 2.7cm/4.84 * 2.05 * 1.06in

Item Weight: 85g/3oz

 

Specification - Style C

Main Color: Black

Main Material: ABS

Battery: 800mAh

Item Size: 12.8 * 5 * 5cm/5.04 * 1.97 * 1.97in

Item Weight: 100g/3.53oz

 

Overview

LED strobe mode to deter your dog.

It's perfect for short trips and outside activities.

It is easy to use both indoors and outdoors.

Suitable for large medium and small dogs.

Ergonomically designed to provide a comfortable grip, and compact enough to fit easily in your pocket.

 

 

Illustrate:

Light shooting and different displays may cause the color of the item in the picture a little different from the real thing. Please refer to the actual product. The measurement allowed error is +/- 1-3cm.

 

*Product Notes:  

1. For any product problems, you must provide communication vouchers, pictures, videos, etc. with the buyer.

2. The orders must meet the following requirements in order to accept returns and refunds, otherwise they will not be accepted.
a. Product photos or dynamic videos showing the product in question
b. Screenshots of communication records with end consumers
c. Outer packaging and label pictures (clear and complete label pictures on outer packaging)
d. Screenshot of the distributor's order refund on the e-commerce platform/independent station.

3. If the product is returned to the overseas warehouse due to the wrong address, no refund will be given.

4. No reason to return any non-product problems, such as the following wrong order, wrong purchase by customer, customer dislike, etc.

5. Please contact the online customer service before returning the product for a refund, otherwise the return will not be refunded.

6. Items must be unworn, undamaged and in original packaging.