top of page

Ontdek de collectie

De enige beperkingen aan de schepping zijn de beperkingen van onze verbeelding.

Screenshot 2025-08-29 172246 - Kopie.png
Screenshot 2025-08-29 172233 - Kopie.png
Schermafbeelding 2025-08-16 151549.png
Schermafbeelding 2025-08-16 164158.png
Schermafbeelding 2025-08-16 164142.png
Schermafbeelding 2025-08-29 172119 - Kopie.png
Screenshot 2025-08-29 172132 - Kopie.png
Screenshot 2025-08-29 172148 - Kopie.png
Schermafbeelding 2025-08-29 172205 - Kopie.png
Schermafbeelding 2025-08-29 172219 - Kopie.png
Schermafbeelding 2025-08-16 164830.png
Schermafbeelding 2025-08-16 165007.png
Schermafbeelding 2025-08-16 165114.png
Schermafbeelding 2025-08-16 165142.png
Schermafbeelding 2025-08-16 165248.png
Schermafbeelding 2025-08-16 165236.png
Schermafbeelding 2025-08-16 165314.png
Capture d'écran 2025-08-16 165329.png
Schermafbeelding 2025-08-16 165439.png
Schermafbeelding 2025-08-16 165452.png
Schermafbeelding 2025-08-16 164725.png
Schermafbeelding 2025-08-16 165302.png
Schermafbeelding 2025-08-16 165425.png
Schermafbeelding 2025-08-16 164338.png
Schermafbeelding 2025-08-16 164354.png
Schermafbeelding 2025-08-16 164407.png
Schermafbeelding 2025-08-16 164753.png
Schermafbeelding 2025-08-16 164912.png
Schermafbeelding 2025-08-16 165129.png
Schermafbeelding 2025-08-16 165411.png
Schermafbeelding 2025-08-16 165358.png
Schermafbeelding 2025-08-16 164645.png
Schermafbeelding 2025-08-16 164659.png
Schermafbeelding 2025-08-16 164711.png
Schermafbeelding 2025-08-16 165058.png
Screenshot 2025-08-16 165641 - Kopie.png
Screenshot 2025-08-16 165226 - Kopie.png
Schermafbeelding 2025-08-16 164859.png
Screenshot 2025-08-16 165616 - Kopie.png
Schermafbeelding 2025-08-16 164603.png
Schermafbeelding 2025-08-16 164618.png
Schermafbeelding 2025-08-16 164421.png
Schermafbeelding 2025-08-16 164435.png
Schermafbeelding 2025-08-16 164448.png
Schermafbeelding 2025-08-16 164504.png
Schermafbeelding 2025-08-16 164550.png
Schermafbeelding 2025-08-16 164534.png
Schermafbeelding 2025-08-16 165019.png
Schermafbeelding 2025-08-16 165044.png
Schermafbeelding 2025-08-16 165155.png
Screenshot 2025-08-16 165208 - Kopie.png
Schermafbeelding 2025-08-16 165507.png
Schermafbeelding 2025-08-16 165030.png
Screenshot 2025-08-16 165520 - Kopie.png
Schermafbeelding 2025-08-16 164517.png
Schermafbeelding 2025-08-16 165345.png
Schermafbeelding 2025-08-16 164938.png
Screenshot 2025-08-16 165532 - Kopie.png
Screenshot 2025-08-16 165716 - Kopie.png
Schermafbeelding 2025-08-16 164818.png
Screenshot 2025-08-16 165707 - Kopie.png
Schermafbeelding 2025-08-16 164924.png
Schermafbeelding 2025-08-16 164807.png
Screenshot 2025-08-29 172010 - Kopie.png
Schermafbeelding 2025-08-16 164847.png
Screenshot 2025-08-16 165654 - Kopie.png

Essentiële elementen

Geef ze wat te eten en te drinken... Interactieve snuffelbal voor honden, aanbevolen voor kleine honden of puppy's, duurzame stof, machinewasbaar, voor het zoeken naar en snuffelen aan voedsel.

Het is een fluitje van een cent. Snuffelbal voor kleine puppy-eerbetonen. Durzame stof, machinewasbaar.

SNUFFELBAL 10cm

Productcode: SNUFFBAL - S
€ 9,70Prijs
incl.BTW |
Aantal
    Opmerkingen

    Deel je gedachtenPlaats de eerste opmerking.
    Spelen met een hondenspeeltje
    bottom of page
    function syncTiles(){ $grid.querySelectorAll('.pc-item').forEach(el=>{ const name = el.getAttribute('data-name'); const active = (selectionMode==='single') ? (selected[0]===name) : selected.includes(name); el.setAttribute('aria-pressed', active); el.classList.toggle('is-selected', active); updateBadge(el, name); }); } function updateBadge(el, name){ // Nettoie el.querySelectorAll('.pc-badge').forEach(b=>b.remove()); if(selectionMode==='double'){ const idx = selected.indexOf(name); if(idx>-1){ const b = document.createElement('div'); b.className='pc-badge'; b.textContent = idx===0? 'A' : 'B'; el.appendChild(b); } } } function updateSummary(){ if(selected.length===0){ $summary.textContent = 'Aucune sélection'; return; } if(selectionMode==='single'){ $summary.textContent = `Sélection: ${selected[0]}`; } else { const [a,b] = selected; $summary.textContent = `Couleurs: ${a || '—'} ${b? ' + '+b : ''}`; } } function syncHiddenFields(){ // Injection facultative dans des champs existants de formulaire try{ if(selectionMode==='single' && CONFIG.formFieldSingleId){ const i = document.getElementById(CONFIG.formFieldSingleId); if(i) i.value = selected[0] || ''; } if(selectionMode==='double'){ if(CONFIG.formFieldDoubleIdA){ const ia = document.getElementById(CONFIG.formFieldDoubleIdA); if(ia) ia.value = selected[0] || ''; } if(CONFIG.formFieldDoubleIdB){ const ib = document.getElementById(CONFIG.formFieldDoubleIdB); if(ib) ib.value = selected[1] || ''; } } }catch(err){ /* silencieux */ } } // Toolbar (changer le mode à la volée) $root.querySelectorAll('.pc-chip').forEach(btn=>{ btn.addEventListener('click', ()=>{ selectionMode = btn.getAttribute('data-mode'); selected = []; $root.querySelectorAll('.pc-chip').forEach(b=>b.setAttribute('aria-pressed','false')); btn.setAttribute('aria-pressed','true'); $grid.setAttribute('role', selectionMode==='single'?'radiogroup':'group'); renderGrid(); }) }); // Actions $copy.addEventListener('click', async ()=>{ const text = (selectionMode==='single') ? (selected[0] || '') : selected.join(' / '); try{ await navigator.clipboard.writeText(text); $copy.textContent = 'Copié !'; setTimeout(()=>{$copy.textContent='Copier la sélection'},1200); }catch(err){ alert(text); } }); $clear.addEventListener('click', ()=>{ selected=[]; syncTiles(); updateSummary(); syncHiddenFields(); }); // Premier rendu renderGrid(); })();