Sequência de imagens (ou um sprite sheet) trocada quadro a quadro conforme o scroll — efeito de "vídeo" controlado pela rolagem.
Simula um vídeo tocando conforme o visitante rola — usado em produtos que giram 360°, demonstrações passo a passo, ou qualquer sequência de imagens que deveria "avançar" com o scroll em vez de tempo real.
Aceita dois formatos: uma lista de <img data-sw-frame> (uma tag por quadro) ou um único sprite sheet (data-sw-frame-sprite="colunasxlinhas") onde os quadros são recortados via background-position. O progresso do scroll escolhe qual quadro mostrar, arredondando pro mais próximo.
Essa seção prende a tela de verdade e se solta da moldura enquanto você rola — role bem devagar pra ver o efeito.
<section data-sw="frames">
<div data-sw-frame-stage>
<img data-sw-frame src="quadro-01.webp" alt="Descrição">
<img data-sw-frame src="quadro-02.webp" alt="Descrição">
<!-- pelo menos 2 data-sw-frame; quanto mais quadros reais (não pulados), mais parece filme -->
</div>
</section>
Essa seção prende a tela de verdade e se solta da moldura enquanto você rola — role bem devagar pra ver o efeito.
<section data-sw="frames" data-sw-frame-sprite="8x5" data-sw-frame-count="40">
<div data-sw-frame-stage style="background-image:url('sprite.webp')"></div>
</section>
<!-- o recorte de cada quadro (background-size/position) é calculado sozinho a partir de "8x5" -->
data-sw="frames"data-sw-frame-stagedata-sw-frame (nos filhos, modo lista)data-sw-frame-spritedata-sw-frame-countdata-sw-endNenhum.
sw:framedetail.index e detail.totalNenhum.
gsap-bundle.js (GSAP com ScrollTrigger já incluso). O JS e o CSS do Motion já vêm dentro de swcore.js/swcore.css, sem arquivo extra do SWCore. Precisa de pelo menos 2 quadros (lista) ou de um sprite sheet válido.