Come fare l'effetto fade in su jQuery

Per fare un'animazione di dissolvenza in entrata (fade in) di un elemento della pagina web uso il metodo fade In() di jQuery

fadeIn([durata][, complete]);

La funzione ha due parametri facoltativi

  • Durata
    Indica il tempo in cui deve concludersi la dissolvenza. Di default è 400 millisecondi.
  • Complete
    E' la funzione da eseguire al termine della dissolvenza. E' un parametro facoltativo.

Questa funzione fa comparire progressivamente un elemento nascosto nella pagina web tramite un effetto fade in (dissolvenza in entrata).

l'effetto di dissolvenza in entrata è più lento

Un esempio pratico

Ecco un esempio pratico di animazione fade-in

<!DOCTYPE html>
<html>
<head>
<style>
#box { width:100px; height:100px; text-align:center; background:#f00; font-size:14px; }
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div id="box">my box</div>
<p>Hello World!</p>
<script>
$("#box").hide();
$("#box").fadeIn();
</script>

</body>
</html>

Lo script seleziona gli elementi con id=box nel documento html.

Li nasconde con il metodo hide().

Poi gli applica il metodo fadeIn() di dissolvenza in entrata.

l'effetto fade-in

La dissolvenza è però troppo veloce.

Modifico lo script impostando un tempo di dissolvenza in entrata pari a 5000 millisecondi (5 secondi).

<script>
$("#box").hide();
$("#box").fadeIn(5000);
</script>

Questa rende l'animazione di dissolvenza più graduale.

l'effetto di dissolvenza in entrata è più lento

In entrambi i casi al termine della dissolvenza in entrata l'elemento css selezionato (#box) è completamente visibile nel documento html.

Come richiamare una funzione al termine della dissolvenza in entrata

Il metodo fadeIn() mi permette di eseguire una funzione al termine della disolvenza in entrata.

Ad esempio

<script>
$("#box").hide();
$("#box").fadeIn(5000,function() { console.log("end"); });
</script>

Come vincolare la dissolvenza in entrata a un evento

In questo documento subordino l'inizio della dissolvenza in entrata al verificarsi di un evento.

Ad esempio, il click dell'utente sull'elemento #clickme

<!DOCTYPE html>
<html>
<head>
<style>
#box {
width:100px;
height:100px;
text-align:center;
background:#f00;
font-size:14px;
}
#clickme { width:100px; border:1px solid #000; }
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<div id="clickme">Click here</div>
<br>
<div id="box">my box</div>
<p>Hello World!</p>
<script>
$("#box").hide();
$( "#clickme" ).click(function() {
$("#box").fadeIn(5000);
});
</script>

</body>
</html>

Ora la dissolvenza in entrata inizia solo dopo il click sull'elemento #clickme

l'effetto fade in

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

jQuery