Lezione #id-jq-2013-0004#
Un effetto molto popolare di JQuery è la dissolvenza – fade -. Impariamo ad utilizzarla in pochi semplici passi..
fadeIn() -> dissolvenza in entrata, da 0 a 100% di visibilità
Vediamo il seguente codice:
<!DOCTYPE html> <html> <head> <title>Titolo del documento</title> <script type="text/javascript" src="js/jquery-2.0.3.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000); }); }); </script> </head> <body> <p>Proviamo fadeIn() con parametri differenti</p> <button>fadeIn() - Cliccami</button> <br><br> <div id="div1" style="width:180px;height:80px;display:none;background-color:red;">Contenuto divisorio 1</div><br> <div id="div2" style="width:180px;height:80px;display:none;background-color:green;">Contenuto divisorio 2</div><br> <div id="div3" style="width:180px;height:80px;display:none;background-color:blue;">Contenuto divisorio 3</div> </body> </html>
Nel DOM HTML avremo:
<button>fadeIn() - Cliccami</button> <div id="div1" style="width:180px;height:80px;display:none;background-color:red;">Contenuto divisorio 1</div><br> <div id="div2" style="width:180px;height:80px;display:none;background-color:green;">Contenuto divisorio 2</div><br> <div id="div3" style="width:180px;height:80px;display:none;background-color:blue;">Contenuto divisorio 3</div>
Un bottone cliccabile, tag – button –
Tre – div – colorati con del testo all’interno, ogni div ha un id univoco – id= –
Lo script JQuery:
$(document).ready(function(){ ... i vari comandi da eseguire ... });
Avvia la funzione solo a documento completamente caricato.
$("button").click(function(){ $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000); });
JQuery indicato con il dollaro $, rileva il click sul tag – button -, se viene cliccato avvia la dissolvenza – fadeIn – per gli id – #div1 – #div2 – #div3 -.
La sintassi completa del comando è:
$(selector).fadeIn(speed,callback);
Dove il parametro – speed – indica il tempo impiegato per portare a termine l’operazione, in parole povere la durata della dissolvenza
– speed – può essere indicato in millisecondi (1000=1 secondo), slow, fast oppure non specificato.
Notare che specificando parametri differenti per – speed – possiamo ottenere un effetto animazione piuttosto interessante!
fadeOut() -> dissolvenza in uscita, da 100% a 0 di visibilità
Lo stesso ragionamento riportato sopra vale per il fadeOut(), la cui sintassi completa è la seguente:
$(selector).fadeOut(speed,callback);
fadeToggle() -> dissolvenza alternata
Se vogliamo utilizzare un solo bottone per il fadeIn() e fadeOut(), fadeToggle() è quello che fa per noi.
$(selector).fadeToggle(speed,callback);
fadeTo() -> dissolvenza parziale
Se vogliamo realizzare una dissolvenza parziale dei nostri elementi possiamo utilizzare fadeTo() che aggiunde il parametro – opacity – per lasciare gli elementi semitrasparenti.
$(selector).fadeTo(speed,opacity,callback);
Mettiamo tutto insieme:
<!DOCTYPE html> <html> <head> <title>Titolo del documento</title> <script type="text/javascript" src="js/jquery-2.0.3.js"></script> <script> $(document).ready(function(){ /* ATTENZIONE A SPECIFICARE IL CANCELLETTO PER GLI ID DEL DOM, E' LA SINTASSI CSS*/ /* fadeIn */ $("#fadein").click(function(){ $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000); }); /* fadeOut */ $("#fadeout").click(function(){ $("#div1").fadeOut(); $("#div2").fadeOut("slow"); $("#div3").fadeOut(3000); }); /* fadeToggle */ $("#fadetoggle").click(function(){ $("#div1").fadeToggle(); $("#div2").fadeToggle("slow"); $("#div3").fadeToggle(3000); }); /* fadeTo */ $("#fadeto").click(function(){ $("#div4").fadeTo("slow",0.15); $("#div5").fadeTo("slow",0.4); $("#div6").fadeTo("slow",0.7); }); }); </script> </head> <body> Divisori per fadeIn()-fadeOut()-fadeToggle()<br> <button id="fadein">fadeIn() - Cliccami</button> <button id="fadeout">fadeOut() - Cliccami</button> <button id="fadetoggle">fadeToggle() - Cliccami</button> <br><br> <div id="div1" style="width:180px;height:80px;display:none;background-color:red;">Contenuto divisorio 1</div><br> <div id="div2" style="width:180px;height:80px;display:none;background-color:green;">Contenuto divisorio 2</div><br> <div id="div3" style="width:180px;height:80px;display:none;background-color:blue;">Contenuto divisorio 3</div> Divisori per fadeTo()<br> <button id="fadeto">fadeTo() - Cliccami</button> <br><br> <div id="div4" style="width:180px;height:80px;display:none;background-color:red;">Contenuto divisorio 4</div><br> <div id="div5" style="width:180px;height:80px;display:none;background-color:green;">Contenuto divisorio 5</div><br> <div id="div6" style="width:180px;height:80px;display:none;background-color:blue;">Contenuto divisorio 6</div> </body> </html>