Bergsteiger-Silikon-Wasserflaschenschnalle, Sport-Wasserflaschenschnalle, tragbarer Laufgriff

Kostenfreier weltweiter Versand
Kostenlose Rückgaben
Nachhaltig hergestellt
Sichere Zahlungen
/** @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);
farbe
Nordic Blue
Nordic Pink
Coral Orange
Lilac
Nordic Gray
Nordic Green
menge
2PCS
4PCS
8PCS
Preis
€16.99
€12.99
speichern  €4.00
Menge
Beschreibung

 🔥Der Preis ist begrenzt! 🔥 Sichern Sie sich Ihr Exemplar als limitierte Aktion!

  •  TIPPS:  Alle Produkte unterliegen einer strengen Qualitätsprüfung durch den Hersteller. Wir freuen uns über Ihre Zufriedenheit mit der Qualität unserer Produkte.
  • 😊 Wenn Sie mit der erhaltenen Ware nicht zufrieden sind, kontaktieren Sie uns bitte innerhalb von 15 Tagen nach Erhalt, wir werden Ihnen bestmöglich helfen!
  • 🚢 Versand >> Weltweiter Expressversand verfügbar. 
  • 🔥 98,9 % der Kunden kaufen 2 oder mehr

HAUPTEIGENSCHAFTEN

  • PRAKTISCHE BEFESTIGUNG FÜR DEN AUSSENBEREICH: Befestigen Sie Ihre Wasserflasche ganz einfach mit diesem tragbaren Wasserflaschenverschluss. Diese aus strapazierfähigem Silikon gefertigten Halter passen genau um den Flaschenhals und sorgen für einen sicheren Halt, der dem Gewicht schwerer Flaschen standhält und ein versehentliches Verrutschen verhindert.

  • VIELSEITIG UND KOMPAKT: Diese Wasserflaschenhalter sind für die meisten Einweg-Wasserflaschengrößen geeignet. Sie können sie je nach Bedarf einfach verbinden und wieder abnehmen. Diese Halterungen sind ideal für Kletterer, Reisende, Angler, Wanderer und Outdoor-Enthusiasten und ermöglichen freihändige Mobilität bei Abenteuern sowie die Befestigung von Flaschen an Rucksäcken oder Hosen.

  • LANG ANHALTENDE FEUCHTIGKEIT SICHER: Diese Wasserflaschenclips bestehen aus hochwertigem Silikon und Metall und bieten eine lange Haltbarkeit bei Outdoor-Aktivitäten. Sie wurden speziell für die Anforderungen von Outdoor-Abenteuern entwickelt und bieten eine zuverlässige und sichere Befestigung, die vor versehentlichem Herunterfallen schützt und für zusätzliche Sicherheit sorgt.

  • PRAKTISCHES UND STILVOLLES DESIGN: Zusätzlich zur Funktionalität zeichnen sich diese Klett-Wasserflaschenhalter auch durch eine stilvolle Kante aus. Das stilvolle Schwarz und Marineblau ergänzen nicht nur Ihre Outdoor-Ausrüstung, sondern verleihen auch einen Hauch von Persönlichkeit. Erkunden Sie die Natur mit Stil und sorgen Sie gleichzeitig dafür, dass Ihre Flüssigkeitszufuhr in Reichweite ist. Diese Clips eignen sich ideal zum Wandern, Camping und für alle Arten von Outdoor-Aktivitäten und bieten Ihnen eine praktische Lösung, um überall ausreichend Flüssigkeit zu sich zu nehmen.

SPEZIFIKATIONEN

  • Material: Silikon + Metall 

  • Gewicht: 16G

Versand:

  • Kostenloser Versand über 50€.

  • Bestellungen werden innerhalb von 7 Werktagen nach der Bestellung bearbeitet und am nächsten Tag nach dem Bearbeitungstag versandt. Bestellungen werden in der Regel innerhalb von 7 bis 14 Werktagen geliefert.

Rückgabe: Schnelle Rückerstattung bei Unzufriedenheit innerhalb von 15 Tagen, 100 % Geld-zurück-Garantie.


Notiz:

  • Bitte erlauben Sie aufgrund manueller Messungen geringfügige Maßabweichungen.

  • Aufgrund der unterschiedlichen Anzeige- und Lichteffekte kann die tatsächliche Farbe des Artikels geringfügig von der auf dem Bild angezeigten Farbe abweichen. 

Customer Reviews

Here are what our customers say.

Kommentare veröffentlichen
Bewertungen der Kunden
Wow, du bist ganz unten angekommen
Neueste
Am meisten gemocht
Höchste Bewertungen
Niedrigste Bewertungen
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.