
Attrezzi che cadono
Fisica, Hover
NuovaGratis
Uno stagno visto dall’alto, disegnato su un canvas: il puntatore lascia anelli che si allargano e si incrociano, le ninfee galleggiano spinte dalle onde e rimbalzano fra loro, i pesci koi scappano con uno scatto e poi tornano curiosi. Un clic fa cadere un sasso con lo spruzzo.
Una cartella che funziona da sola: index.html, style.css, script.js e le librerie da CDN. Nelle schede React e Vue la stessa demo è già un componente, che spegne le sue animazioni quando esce dalla pagina.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The pond under the pointer</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/fraunces@5.3.0/index.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/fraunces@5.3.0/wght-italic.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fontsource-variable/mona-sans@5.3.0/standard.css">
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="pond" data-pond>
<!-- the water, the lily pads, the koi and the pebbles are all drawn here -->
<canvas class="pond__canvas" data-canvas aria-hidden="true"></canvas>
<header class="sign" data-sign>
<p class="sign__tag" data-fade>Hollowmere Botanic Garden</p>
<h1 class="sign__title">
<span class="word" data-float><span class="word__in">The</span></span>
<span class="word" data-float><span class="word__in">Lily</span></span>
<span class="word" data-float><span class="word__in">Pond</span></span>
</h1>
<p class="sign__line" data-fade>East glasshouse, beyond the fern walk</p>
</header>
<footer class="foot">
<p class="foot__note" data-fade data-hint>Move over the water. Click to drop a pebble.</p>
<p class="foot__note foot__note--right" data-fade>Please do not feed the koi</p>
</footer>
</main>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.15.0/dist/gsap.min.js"></script>
<script src="script.js"></script>
</body>
</html>Cambia valori, colori e testi con le manopole e guarda l’animazione rispondere dal vivo. Oppure scrivi tu nel codice. Poi scarica la cartella con le tue modifiche.
28 valori da cambiare
Col connettore di Animorio, Claude Code la prende da qui con tutta la sua guida e la adatta al tuo progetto. Incolla questa richiesta:
Prendi «Lo stagno sotto il puntatore» da Animorio e adattala al mio sitoLo stagno è una griglia di celle di 5 pixel (4 al telefono). Settantadue volte al secondo ogni cella prende la media delle quattro vicine, meno il valore che aveva il passo prima, e perde un poco (DAMPING). Basta questo: una gobba spinta nella griglia si allarga ad anello, e due anelli si sommano da soli.
A ogni fotogramma si guarda quanta strada ha fatto il puntatore: ogni 52 pixel (e non più spesso di 14 volte al secondo) si spinge nella griglia una gobba a coseno, più forte se va veloce. Le gocce distanziate fanno anelli distinti invece di una scia unica.
Per ogni cella si guarda la pendenza: verso la luce schiarisce, dall’altra parte scurisce. Dove la pendenza supera una soglia arriva il riflesso chiaro, in un secondo strato trasparente. Le due immagini sono piccole come la griglia e il canvas le allarga: è la sfumatura del browser a renderle morbide.
Sotto ogni ninfea si legge la pendenza in cinque punti e la ninfea scivola in discesa; una molla debole la riporta a casa. Due cerchi che si sovrappongono si separano e si scambiano la velocità lungo la normale (urto con rimbalzo 0,62); l’urto accende una piccola molla che la schiaccia e la fa tornare tonda.
La testa ha una direzione e una velocità; i dodici punti del corpo la seguono a distanza fissa, così il pesce si piega nelle curve. Un’oscillazione della direzione della testa fa ondeggiare la coda. Puntatore veloce e vicino: fuga con uno scatto e una coda che sbatte; finito lo spavento ogni pesce prende il suo posto su un cerchio lento intorno al puntatore.
| Nome | File | Di partenza | Cosa cambia |
|---|---|---|---|
FISH | script.js | 4 | Quanti koi nuotano nello stagno. |
LILIES | script.js | 9 | Quante ninfee galleggiano. |
RIPPLE | script.js | 1 | La forza degli anelli lasciati dal puntatore. |
DAMPING | script.js | 0.988 | Quanto di un anello resta a ogni passo: più basso e si spegne prima. |
SPEED | script.js | 1 | La velocità di tutto lo stagno: onde, pesci e ninfee. |
STONE | script.js | 3.5 | Quanto un sasso è più forte del puntatore. |
--deep, --shallow, --glint | style.css | #0c3b40, #2c7a6f, #e6f5e4 | I colori dell’acqua: in mezzo, verso i bordi e il riflesso sulle creste. |
Per l’apertura di un sito che vive di calma e di natura: un giardino, una spa, un tè, un ristorante giapponese, un ritiro. Chi arriva trova qualcosa da toccare prima ancora di leggere, e lo stagno resta vivo anche da solo.
Stesso stagno, con ninfee e pesci più piccoli e celle della griglia più fitte. Il dito trascinato sull’acqua fa gli anelli e spaventa i pesci, un tocco fa cadere il sasso; la pagina non scorre, quindi il dito è tutto per l’acqua.
Lo stagno sta fermo: niente onde, pesci e ninfee immobili al loro posto. Sotto il puntatore si accende e si spegne solo una luce morbida, e un clic fa apparire e svanire un riflesso.
GSAP 3.15.0, Fraunces (font variabile) 5.3.0, Mona Sans (font variabile) 5.3.0.
Compressi con gzip, i tre file della demo pesano 15 KB; le librerie: GSAP 28 KB.
Provata il 10 ottobre 2026
Puoi usarla nei tuoi progetti e in quelli dei tuoi clienti. Non puoi rivenderla né ridistribuirla così com’è. GSAP resta sotto la sua licenza Standard. Licenza completa.
Con l’email e la password del tuo account.
oppure con l’email
Hai fatto l’accesso come .
Con l’account scarichi lo zip di ogni animazione e di ogni pacchetto, gratis.