Codice Javascript
Qui andimo a spiegare come sono stati realizzati gli effetti di animazione delle immagni.
Iniziamo da qui:
Come si può notare la funzione: slideshow("confetture-ico.jpg","albicocche-ico.jpg","castagne-ico.jpg"); Ha tre argomenti ma potrebbe avere un qualsiasi numero di argomenti, in java script ciò è permesso. Ogno argomento è il nome di una immagine e l'ordine degli argomenti sarà poi l'ordine in cui verranno visualizzate leimmagini. var slide_images = new Array(); è un nuovo array che conterrà le immagini var pth_slide = "../../img/confetture/"; è il percorso che ci permetterà di trovare le immagini. Ora veniamo alla funzione slideshow() Questa funzione si occuperà di riempire l'array "slide_images" con le immagini e dare a ciascuna di esse il percorso ed il nome dell'immagine impostandolo nella proprità src. Farà questo utilizzando il ciclo for. slideshow.arguments.length mi darà il numero degli argomentii passati in questo es. tre il ciclo dice per i che va da 0 a 2 ossia i sarà successivamente:0 poi 1 poi 2 inseriamo nell'array le immgini. Creao ad ogniciclo un immagine: slide_images[i] = new Image(); e gli attribuisco il sorgente: slide_images[i].src = pth_slide + slideshow.arguments[i]; per ciascun ciclo avremo: slide_images[0].src ="../../img/confetture/"+ slideshow.arguments[0]; slide_images[1].src ="../../img/confetture/"+ slideshow.arguments[1]; slide_images[2].src ="../../img/confetture/"+ slideshow.arguments[2]; Ora il nostro array contiene tutte le immagini che dovranno scorrere. Questo però è un approccio piutttosto antico ora più modernamente potremo usare quest'altro approccio:
...imageNames questo è un array che contiene gli argomenti inseriti, (imageName, i) => {} questa è una funzione anonima (ossia che non ha un nome) cosciuta anche come "Arrow function" tra le parentesi ci sono gli argomenti (che possonoessere fino a tre) poi l afreccia => ed il blocco {}. imageNames.forEach((imageName, i) => {blocco} il metodo foreEach dell'array imageNames eseguirà per ciascun elemento dell'array la funzione anonima. Gli argomenti in questo caso sono due il primo "imageName" è l'argomento, che qui rappresenta il nome dell'immagine il secondo "i" è l'indice corrispondente. Il contenuto del blocco è simile alla versione precedente. Eseguita la funzione slideshow() noi avremo l'array slide_images carico delle immagini.
Sarà la funzione sli_slide() a mettere in moto la visualizzazioe continua e ciclica delle immagini:
Se non ci sono immagini esci dalla funzione senza fare nulla. slide è l'id dell'immagine preposta alla visualizzazione ciclica. document.images.slide.src = slide_images[w_slide].src; Sta ad indicare di mettere nella proprietà src dell'imagine con id= "slide" l'indirizzo memorizzato nell'elemento[0] dell'array slide_images[0].src. La prima immagine verrà visualizzata. Ora si passa ad aggiornare l'indice w_slide fino a che l'indice è minore di 2 viene incrementato quando è uguale a 2 viene riportato a 0 e così via. Ogni immagine verrà visualizzata per il tempo di un secondo. Due parole per i rollover:
foto è l'id dell'immagine preposto alla visualizzazione dell'immagine statica corrispondente s ciascun link. im rappresenta questa immagine. se il primo argomento della funzione rol(x, y) è uguale a 1 nella proprietà src dell'immagine im metteremo l'undirizzo in y altrimenti reimposteremo uìl'immagine che rappresenta il colore di sfondo. L'effetto sarà che quando passiamo con il mouse sopra il link comparirà l'immagine relativa, es se passo sopra a Castagne comparirà l'immagine delle castagne, quando esco da Castagne l'immagine scomparirà.
|