Tutorial Javascript: creare una semplice gallery con gli Array

Tutorial Javascript: creare una semplice gallery con gli Array

Vediamo come creare una semplice gallery interattiva partendo da zero, utilizzando Javascript in riga con gli Array e il Css; abbandoniamo dunque i framework complessi e dedichiamoci alle basi del codice. Creiamo innanzitutto un foglio di stile esterno e chiamiamolo stile.css, richiamandolo all’interno del tag <head> col seguente html:

<link rel="stylesheet" type="text/css" href="stile.css" />

Apriamo il foglio di stile e prepariamo le classi e gli id che ci serviranno a posizionare i vari elementi all’interno del layout:

body{

background-color:#f9f6ed;

}

#container{

width:700px;

height:500px;

margin:0px auto;

text-align:center;

background-color:#f9f6ed;

}

.frame{

width:700px;

height:inherit;

margin:0 auto;

text-align:center;

background-color:#f9f6ed;

}

#boxtesto{

padding-top:10px;

width:700px;

background-color:#f9f6ed;

}

#pulsanti{

padding-top:10px;

margin:0 auto;

text-align:center;

width:500px;

height:50px;

background-color:#f9f6ed;

}

.tastosx{

float:left;

text-align:left;

background-color:#f9f6ed;

}

.tastodx{

float:right;

text-align:right;

background-color:#f9f6ed;

}

Passiamo alla creazione degli Array predisposti per mettere in sequenza le immagini e associarle a un testo di descrizione, sempre all’interno del tag <head>:

<script type="text/javascript" language="javascript">

immagini=new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg","7.jpg","8.jpg","9.jpg","10.jpg");

testi=new Array("photo #1","photo #2","photo #3","photo #4","photo #5","photo #6","photo #7","photo #8","photo #9","photo #10");

i=0;//mi creo una variabile che parta da zero

total_image=immagini.length;

function avanti(){

if(i<total_image-1){

i++;

document.images.img_grande.src=immagini[i];//modifico la foto nella tabella inserendo un valore dell'Array fornito da i

document.getElementById('testo').innerHTML = testi[i];

}else{

i=0;

document.images.img_grande.src=immagini[i];//modifico la foto nella tabella inserendo un valore dell'Array fornito da i

document.getElementById('testo').innerHTML = testi[i];

}

}

function indietro(){

if(i==0){

i=total_image-1;

document.images.img_grande.src=immagini[i]//modifico la foto nella tabella inserendo un valore dell'Array fornito da i

document.getElementById('testo').innerHTML = testi[i];

}else{

i--;//incremento la variabile ogni volta che la funzione è richiamata

document.images.img_grande.src=immagini[i];//modifico la foto nella tabella inserendo un valore dell'Array fornito da i

document.getElementById('testo').innerHTML = testi[i];

}

}

</script>

Posizioniamo le immagini, in questo caso nominate partendo da 1.jpg fino a 10.jpg, nella main directory del sito. Per come è strutturato il <div> contenitore delle immagini, queste avranno la dimensione di 700×500 pixels: modifichiamo il width e l’height nel seguente id nel foglio di stile per variarne le dimensioni (e di conseguenza modifichiamo le dimensioni delle immagini con un editor di immagini).

#container{

width:700px;

height:500px;

margin:0px auto;

text-align:center;

background-color:#f9f6ed;

}

Non resta che scrivere nell’html all’interno del <body> per impostare lo start della gallery:

<div id="container">
<img src="1.jpg" alt="" name="img_grande" />
<div id="boxtesto"><span id="testo">photo #1</span></div>
<div id="pulsanti">
<div><a onclick="indietro()" href="#"><img src="sx.jpg" alt="" name="sx" /></a></div>
<div><a onclick="avanti()" href="#"><img src="dx.jpg" alt="" name="sx" /></a></div>
</div>
</div>

Ho messo nelle risorse in download due piccole jpg (sx.jpg e dx.jpg) che fungono da pulsanti avanti e indietro: potete sostituirlo con le vostre frecce preferite oppure con del semplice testo. Naturalmente potete arricchire la galleria con cornici e colori a seconda dei vostri gusti. Alla prossima!

Condividi Articolo

Autore

Magoo

Web Designer da lungo tempo. La mia e' una passione che sembra non avere mai fine. Ho lavorato per molti anni come Web Designer e Digital Artist per alcune aziende pubblicitarie, per poi prendere la decisione di mettermi in proprio. Adesso mi occupo principalmente di elaborazione grafica 3D, ma non disdegno creare pagine web, siti e portali di ogni genere. Benvenuto sul mio Blog!

Vedi tutti gli articoli di Magoo