🎁Free Shipping on Orders Over $59🎉
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
1 / 16
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
Adjustable Car Dog Leash
50% OFF
Fnkus

Adjustable Car Dog Leash

$12.99 $25.98
0 sold
Color
Qty 1000 in stock

undefined
  • You Spoke.  We Listened.  ALL NEW Design for 2023!
  • The Leash makes it easy to take your Dog or Cat in your car safely!
  • Keep your dog off of your lap and from jumping out of the window! 
  • Adjustable leash fits any size dog AND any car!
  • Only to be used with a harness!
  • Fully adjustable from 45cm to 65cm from the headrest!

Suitable for camping and outdoor activities with pets😄😄

❗❗We developed this pet harness because we have seen so many accidents that pets are not properly secured in the vehicle. Hope every parent pays attention

FEATURES:

  • 🐕 Keeps Dog Safe - Effective for restraining your dog when driving. Essential for sudden stops, swerving to avoid accidents, and other sudden maneuvers. Keeps dog from jumping out when door is opened. Recommended by pet safety experts as the simple, easy to use accessory every owner needs. Works great for all breeds.
  • 🐕Comfortable & Fully Adjustable - It takes just seconds to place the strap around a car headrest then secure with easy seat belt style fastener that locks into place. Elastic bungee cord works as a 2-in-1 restraint and leash that fastens to your dog's harness or collar. Lets you use as a pet leash when it's time to go for a walk.
  • 🐕360° Swivel Attach - Prevents bungee cord from getting tangled while allowing your dog freedom to move and enjoy the ride. This is smartly designed with durable metal alloy and rugged heavy duty nylon. It will last and look good for years of improved safety and ultimate convenience.
  • 🐕Multiple Uses - Attach leash to stake, post, or fence for safe outdoor enjoyment. Our designers added reflective stitching so the leash is easily been seen in low light and at night. Lets you enjoy more activities and greater freedom with your pet. Works for most sizes: small, medium, and large dogs.
  • 🐕Great Gift Idea - This is a loving gift for anyone with a dog. Just right for birthday, Mother's Day, Christmas, and when someone receives a puppy or new dog. Many people are getting several to outfit all their dogs. Get yours while we have this premier 2-in-1 leash/car restraint in plentiful supply. It's selling fast after being recommended by pet owners.
  • Size:

undefined

PACKAGE INCLUDED: 

  • 1 × Adjustable Car Dog Leash

Note

Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed on the picture.

const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT = 99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING = `${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static deferredMount() { return false; } /** @param {!SpzElement} element */ constructor(element) { super(element); /** @private {!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win); /** @private {Object} */ this.data_ = null; /** @private {Element} */ this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ = true; /** @private {number} */ this.timerId_ = null; /** @private {number} */ this.animationExecutionCount_ = 0; /** @private {boolean} */ this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ = 5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string} */ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() { this.productAvailable_ = this.element.hasAttribute('product-available'); this.selectedVariantAvailable_ = this.element.hasAttribute('selected-variant-available'); } /** @override */ mountCallback() { this.render_(); } /** @private */ render_() { if (!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data) { return; } this.data_ = data; this.animationClass_ = `painter-${data.animation_name}-animation`; this.iterationCount_ = data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT : data.animation_iteration_count; const animationDuration = 1; const animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration + animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param {JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try { return JSON.parse(data); } catch (e) { return null; } } /** * @return {Promise} * @private */ fetch_() { return this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data || !data.enabled) { return null; } return this.parseJson_(data.detail); }); } /** @private */ getAddToCartButton_() { this.addToCartButton_ = SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"] [role="addToCart"], [data-section-type="product_detail"] [role="addToCart"], [data-section-type="product_detail"] [data-click="addToCart"], [data-section-type="product"] [data-click="addToCart"]' ); } /** @private */ restartAnimation_() { this.addToCartButton_.classList.remove(this.animationClass_); this.addToCartButton_./* OK */ offsetWidth; this.addToCartButton_.classList.add(this.animationClass_); this.animationExecutionCount_++; } /** @private */ clearTimer_() { this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */ setupTimer_() { this.timerId_ = this.win.setInterval(() => { this.restartAnimation_(); if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } }, this.delay_); } /** @private */ restartTimer_() { if (this.animationExecutionCount_ >= this.iterationCount_) { this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */ listenVariantChange_() { SPZUtils.Event.listen(self.document, 'dj.variantChange', (e) => { const selectedVariant = e.detail && e.detail.selected; if (!selectedVariant) { return; } const {available} = selectedVariant; if (this.selectedVariantAvailable_ !== available) { this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) { this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() { this.win.setTimeout(() => { this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /** @private */ handleButtonEffect_() { this.getAddToCartButton_(); if (!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) { ++this.animationExecutionCount_; this.addToCartButton_.classList.add(this.animationClass_); if (this.iterationCount_ === 1) { this.removeAnimationClass_(); return; } this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG, SpzCustomPainterButtonAnimation);