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 met vrolijke kleuren voor honden, verkrijgbaar in drie maten, duurzame stof, machinewasbaar, voor het zoeken naar voedsel en om aan te snuffelen.

Het is een makkie. Snuffelbal zet leuke kleurenbestaat in drie maten. Durzame stof, machinewasbaar

SNUFFELBAL 20cm

Productcode: SNUFFBAL-L
€ 12,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(); })();