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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <!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:
1 2 3 4 5 | < 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:
1 2 3 | $(document).ready( function (){ ... i vari comandi da eseguire ... }); |
Avvia la funzione solo a documento completamente caricato.
1 2 3 4 5 | $( "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 è:
1 | $(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:
1 | $(selector).fadeOut(speed,callback); |
fadeToggle() -> dissolvenza alternata
Se vogliamo utilizzare un solo bottone per il fadeIn() e fadeOut(), fadeToggle() è quello che fa per noi.
1 | $(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.
1 | $(selector).fadeTo(speed,opacity,callback); |
Mettiamo tutto insieme:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <!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> |