Fabio Donatantonio

Resta connesso

Software Developer / Adjunct Professor

Presentazione di diapositive con JQuery

In un articolo precedente si è visto come realizzare una semplice presentazione di immagini con poche istruzione Javascript, utilizzando i cicli di temporizzazione per sostituire di volta in volta le immagini.
Lo script che analizzeremo consiste in un miglioramento grafico di quello precedente. Infatti verrà utilizzato un effetto sfumatura per sostituire un’immagine con la successiva.
A tale scopo è necessario utilizzare il framework JQuery, in particolare due funzioni del package Effects:
fadeOut()
fadeIn()

Vediamo innanzitutto il codice javascript completo:

// Richiamo il framework JQuery
<script type='text/javascript' src='jquery-1.4.2.min.js'></script>
<script type='text/javascript'>
// Realizzo una matrice contenente le immagini da presentare
var immagini = new Array();
immagini[0] = new Image();
immagini[0].src = "uno.jpg";
immagini[1] = new Image();
immagini[1].src = "due.jpg";
immagini[2] = new Image();
immagini[2].src = "tre.jpg";
immagini[3] = new Image();
immagini[3].src = "quattro.jpg";

var timeout;
var index = 1;

// Funzione che sostituisce un'immagine con la successiva
// JQUERY FADEOUT - FADEIN
function RotazioneImmagini(){
     $('#box_immagine').fadeOut(1000, function(){
		document.getElementById('box_immagine').src = immagini[index].src;
		$('#box_immagine').fadeIn(1000, function(){
			index++;
			if(index>=immagini.length){
				index = 0;
			}
			timeout = setTimeout('RotazioneImmagini();', 1000);
		});
	 });
}

// Funzione che permette di interrompere la rotazione delle immagini
function StopRotazione(){
     clearTimeout(timeout);
}
</script>

Il cuore dello script è la funzione RotazioneImmagini().
Prima di sostituire effettivamente un immagine con la successiva viene applicato un effetto di sfumatura in uscita (fadeOut) e solo al termine di questo viene effettuato lo scambio di immagini e quindi applicato un effetto di sfumatura in entrata (fadeIn). In altre parole, l’immagine viene sostituita mentre il box che le conterrà (box_immagine) non è visibile e quindi prima di effettuare il fadeIn.
Da notare i parametri e la nidificazione di funzioni per fadeOut e fadeIn. I parametri per queste due funzioni sono:

.fadeOut(durata effetto, funzione da eseguire al termine)
.fadeIn(durata effetto, funzione da eseguire al termine)

Nonostante il secondo parametro sia opzionale, nel nostro script abbiamo utilizzato il callback per eseguire in un preciso ordine le operazioni. Difatti solo dopo la sfumatura in uscita viene effettuata la sostituzione dell’immagine, e solo dopo la sfumatura in ingresso viene riattivato il ciclo di temporizzazione.
In alternativa al fade avremmo potuto utilizzare anche un effetto slide, sostituendo fadeOut con slideUp e fadeIn con slideDown.

Infine la porzione di html per completare la pagina:

<img src='uno.jpg' id='box_immagine'/>
<br/>
<input type='button' value='Start Presentazione' onClick='RotazioneImmagini();'/>
<input type='button' value='Stop Presentazione' onClick='StopRotazione();'/>

Cliccando qui è possibile vedere in esecuzione il codice completo

Fabio Donatantonio

Fabio Donatantonio. Analista e sviluppatore full-stack di applicazioni web in linguaggio PHP. Professore a Contratto per le cattedre di Fondamenti di Informatica e Archivistica Digitale presso Università degli Studi eCampus. Dal 2008 curatore del sito www.donatantonio.net, da sempre appassionato di programmazione, mare, sigari e... musica.

Leave a reply

Your email address will not be published. Required fields are marked *

 

Didattica

Università degli Studi eCampus
Data Evento
09/02/2021
14:30
Esame Archivistica Digitale e Informatica per le Scienze Umane - Cds Letteratura, Lingua e Cultura Italiana - Lettere
09/02/2021
14:30
Esame Introduzione all'Archivistica Digitale e all'Informatica per le Scienze Umane - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Design e Discipline della Moda - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
Risorse
Guida HTML/CSS per principianti (link)
Introduzione agli ipertesti (link)
Esercizi guidati in Java (link)
Intelligenza artificiale (link)
Libri
Fondamenti di Informatica (2011) (link)
Informatica per le Scienze Umane (2011) (link)
Fondamenti di Informatica (2014) (link)
Pagina Docente
uniecampus.it - Scheda Docente (link)
Contatti
fabio.donatantonio[at]uniecampus.it

JWhisper, sviluppato presso il Dipartimento di Informatica Applicata dell'Università degli Studi di Salerno:

Stay Connected

Twitter

Le mie foto

Foto di Fabio Donatantonio
×