Slider jQuery ad effetto fade

Oggi il nostro assiduo autore Giacomo ci propone questo splendido slider realizzato in jQuery davvero minimale e di sicuro impatto.Vediamo le feature principali dello slider.

Con questo slider potremo facilmente inserire descrizioni, e immagini che scorreranno con un gradevole effetto fade.

GUARDA LA DEMO DELLO SLIDER

Iniziamo!

01. Struttura dello slider e funzionamento

$(document).ready(function() {

	$('#slide_container #slide img').hide() //nascondiamo tutte le immagini della slide

	$('#slide_container #slide img').eq(0).show(); //mostriamo la prima immagine

	$('#slide_container .desc').hide() //nascondiamo tutte le descrizioni

	$('#slide_container .desc').eq(0).show(); //mostriamo la prima descrizione

	var current = 0; //creiamo una variabile che conterrà l'indice dell'immagine visibile

	var limit = $("#slide_container").find("img").length; //creiamo una variabile con il numero delle immagini della slide

	limit = limit-1; //diminuiamo il limite di 1

	var timer = 800; //imposto il tempo dell'animazione

	var animation = 5000; //tempo da attendere per lo scorrimento automatico (in millisecondi)

	var timeout = setTimeout(slideRight, animation);

	function slideRight() {
		if(current != limit) { // se current diverso da limit
			$('#slide_container #slide img').eq(current).fadeOut(timer); //nascondo l'immagine visibile
			$('#slide_container #slide img').eq(current+1).fadeIn(timer); //mostro l'immagine successiva
			$('#slide_container .desc').eq(current).hide(); //nascondo la descrizione visibile
			$('#slide_container .desc').eq(current+1).show(); //mostro la descrizione successiva
			current++; //aumento current di 1
			clearTimeout(timeout);
			timeout = setTimeout(slideRight, animation);
			return false; //annullo la normale azione del link
		} else { // se current è uguale a limit
			$('#slide_container #slide img').eq(current).fadeOut(timer); //nascondo l'immagine visibile
			$('#slide_container #slide img').eq(0).fadeIn(timer); //mostro la prima immagine
			$('#slide_container .desc').eq(current).hide(); //nascondo la descrizione visibile
			$('#slide_container .desc').eq(0).show(); //mostro la prima descrizione
			current = 0; //faccio diventare current 0
			clearTimeout(timeout);
			timeout = setTimeout(slideRight, animation);
			return false; //annullo la normale azione del link
		}
	}

	function slideLeft() {
		if (current != 0) { // se current diverso da 0
			$('#slide_container #slide img').eq(current).fadeOut(timer); //nascondo l'immagine visibile
			$('#slide_container #slide img').eq(current-1).fadeIn(timer); //mostro l'immagine precedente
			$('#slide_container .desc').eq(current).hide(); //nascondo la descrizione visibile
			$('#slide_container .desc').eq(current-1).show(); //mostro la descrizione precedente
			current--; //diminuisco current di 1
			clearTimeout(timeout);
			timeout = setTimeout(slideRight, animation);
			return false; //annullo la normale azione del link
		} else { //se current è uguale a 0
			$('#slide_container #slide img').eq(0).fadeOut(timer); //nascondo l'immagine visibile
			$('#slide_container #slide img').eq(limit).fadeIn(timer); //mostro l'ultima immagine
			$('#slide_container .desc').eq(0).hide(); //nascondo la descrizione visibile
			$('#slide_container .desc').eq(limit).show(); //mostro l'ultima descrizione
			current = limit; //imposto current uguale a limit
			clearTimeout(timeout);
			timeout = setTimeout(slideRight, animation);
			return false; //annullo la normale azione del link
		}
	}

	$('#botton a.right').click(function() { //al click del bottone destro facciamo qualcosa
		slideRight();
		clearTimeout(timeout);
		timeout = setTimeout(slideRight, animation);
	})

	$('#botton a.left').click(function() { //al click del bottone sinistro facciamo qualcosa
		slideLeft();
		clearTimeout(timeout);
		timeout = setTimeout(slideRight, animation);
	})
})

Il codice è perfettamente commentato, pertanto per capire il funzionamento seguite passo passo i commenti ;). Ovviamente lo slider è modificabile a piacimento, vediamo come.

02. Guida all’utilizzo dello slider

<div id="slide">
    	<img src="img/img1.png" />
        <img src="img/img2.png" />
        <img src="img/img3.png" />
        <img src="img/img4.png" />
</div>

questo div conterrà le varie immagini. Ora dobbiamo impostare la descrizione in questo modo:

<div class="desc">
    	<div class="titolo">VOLPE</div>
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
        labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
        laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
         voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
         cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>

NOTA:  è molto importante che il numero di questi div sia lo stesso di quello delle immagini, nel caso l’immagine non presenti alcune descrizione dovete comunque  creare uno di questi div senza nulla scritto dentro.

var timer = 800;

modificando questo parametro andremo a modificare il tempo in cui viene eseguita l’animazione delle immagini.

var animation = 5000;

modificando questo parametro andremo a modificare il tempo che serve aspettare per far si che le immagini scorrano in automatico.

03. Demo e Download

slider-big

DEMO | DOWLOAD

04. Credits e future feature

Questo slider è stato sviluppato da Giacomo Pisani. E’ vietata la copia spudorata senza lasciare un link a targetweb.it o allo sviluppatore.

Vers. 1.0

Nelle prossime feature del plugin probabilmente vedremo come implementarlo su piattaforma WordPress per rendere più “dinamico” il nostro slider.

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

3 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Andrea Rufo
Andrea Rufo
14 anni fa

Molto bello, compliementi.
Semplice ma un ottimo modo per cominciare ad approcciarsi alle funzioni temporizzate di jQuery e a questo tipo di effetti e interazioni.
Grazie!

aledesign.it
aledesign.it
14 anni fa

Mi piace..semplice e d’effetto,..un buon esempio per iniziare nel mondo del jQuery. Per curiosità vedrò in futuro di poterla studiare meglio. Grazie dell’Ispirazione!

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
3
0
Esprimete la vostra opinione commentando.x