← Blurr Motion gallery-drag-carousel-playful
Categorie galleries Tier 1 Techniek #17 Deps gsap
Drag
Drag
Drag
Drag
Drag
1. Mechanisme — kopieer 1-op-1, geen styling-keuzes
// Mechanisme: gallery-drag-carousel-playful
import gsap from 'https://esm.sh/gsap@3.12.5';
// Pas toe op je eigen selector — geen stijlkeuzes hier.
import gsap from 'https://esm.sh/gsap@3.12.5';
if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
const tr=document.querySelector('.drag-track');
if(tr){let drag=false,sx=0,sl=0;const c=tr.parentElement;
tr.addEventListener('mousedown',e=>{drag=true;sx=e.pageX-tr.offsetLeft;sl=c.scrollLeft;tr.style.cursor='grabbing';});
document.addEventListener('mouseup',()=>{drag=false;tr.style.cursor='grab';});
document.addEventListener('mousemove',e=>{if(!drag)return;c.scrollLeft=sl-(e.pageX-tr.offsetLeft-sx)*1.5;});}
2. Skeleton — DOM + class-namen, mag herschikken
<!-- Skeleton: gallery-drag-carousel-playful -->
<div class="demo-block">
  <!-- DOM-structuur hier -->
</div>
3. Styling-template — verplicht eigen invulling per merk
/* Styling: gallery-drag-carousel-playful */
:root {
  --block-bg: ;
  --block-fg: ;
  --block-accent: ;
}