Home Werk
SaaS bouwenAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOWebshop bouwen
AI-oplossingenB2B-platformsE-commerceHorecaLead generationLogistiekOnderwijsProcesautomatiseringSaaS-platformsStartup MVPVastgoedZorg
JuridischZorgVastgoedFinanceHoreca
Den HaagRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
OverWerkwijzeLabBlogContact

Productgalerij met miniaturen Nieuw

De fotogalerij van een productpagina: groot beeld dat je veegt (scroll-snap, op desktop ook slepen met de muis), miniaturen ernaast die meelopen en de actieve foto tonen, pijlen en een teller. Pijltjestoetsen werken op het beeld, de miniaturen zijn gewone knoppen. Zonder JS blijft het een veegbare rij foto's. Voor elke webshop met meerdere productfoto's.

Cognac leren rugzak, voorkant
Rugzak van opzij, met zijvak
Messing gesp en stiksels van dichtbij
Open rugzak van boven met laptopvak
Iemand loopt met de rugzak over een gracht in Utrecht
1 / 5

Zo gebruik je het

  1. Plak de HTML op de plek waar het onderdeel moet komen.
  2. Zet de CSS in je stylesheet. Alle klassen hebben een eigen voorvoegsel, dus niets botst met je eigen opmaak.
  3. Voeg de JavaScript toe en roep init() aan met het element waar de HTML in staat.
<!-- Productgalerij met miniaturen · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="pgm">
<div class="pgm__thumbs" aria-label="Kies een foto">
<button class="pgm__th" type="button" data-i="0" aria-label="Foto 1: voorkant" aria-current="true"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-1.webp" alt="" width="900" height="491" loading="lazy"></button>
<button class="pgm__th" type="button" data-i="1" aria-label="Foto 2: zijkant"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-2.webp" alt="" width="900" height="491" loading="lazy"></button>
<button class="pgm__th" type="button" data-i="2" aria-label="Foto 3: gesp en stiksels"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-3.webp" alt="" width="900" height="491" loading="lazy"></button>
<button class="pgm__th" type="button" data-i="3" aria-label="Foto 4: binnenkant met laptopvak"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-4.webp" alt="" width="900" height="491" loading="lazy"></button>
<button class="pgm__th" type="button" data-i="4" aria-label="Foto 5: gedragen in Utrecht"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-5.webp" alt="" width="900" height="491" loading="lazy"></button>
</div>
<div class="pgm__main">
<div class="pgm__track" tabindex="0" role="region" aria-roledescription="galerij" aria-label="Foto's van rugzak Oudegracht, veeg of gebruik de pijltjestoetsen">
<figure class="pgm__sl"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-1.webp" alt="Cognac leren rugzak, voorkant" width="900" height="491" draggable="false"></figure>
<figure class="pgm__sl"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-2.webp" alt="Rugzak van opzij, met zijvak" width="900" height="491" loading="lazy" draggable="false"></figure>
<figure class="pgm__sl"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-3.webp" alt="Messing gesp en stiksels van dichtbij" width="900" height="491" loading="lazy" draggable="false"></figure>
<figure class="pgm__sl"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-4.webp" alt="Open rugzak van boven met laptopvak" width="900" height="491" loading="lazy" draggable="false"></figure>
<figure class="pgm__sl"><img src="https://neddev.com/lab-media/productgalerij-miniaturen-5.webp" alt="Iemand loopt met de rugzak over een gracht in Utrecht" width="900" height="491" loading="lazy" draggable="false"></figure>
</div>
<button class="pgm__nav pgm__prev" type="button" aria-label="Vorige foto"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14.5 6l-6 6 6 6" fill="none" stroke="currentColor" stroke-width="2"/></svg></button>
<button class="pgm__nav pgm__next" type="button" aria-label="Volgende foto"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9.5 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="2"/></svg></button>
<span class="pgm__cnt" aria-live="polite">1 / 5</span>
</div>
</div>
</div>

Meer uit componenten

Iets gezien dat je mooi vindt?

Zet het in je selectie en stuur hem op. Dan bouwen we je site eromheen, in jouw huisstijl.

Neem contact op →