ciao a tutti, ho realizzato degli slideshow su un sito (anche grazie a dei consigli ricevuti qui sul forum!) con lo script che copio qui sotto.
Tutto funziona ma ci vuole troppo per caricare la pagina, mi piacerebbe poter aggiungere una funzione di preload delle prime 3-4 immagini tipo quella segnalata qui
http://javascript.html.it/articoli/l...con-preload/2/
non saprei come e dove inserire un codice simile all'interno dello slideshow
Qualcuno ha mai fatto una cosa simile e può consigliarmi come mettere insieme le due funzioni?
Ecco il codice (diminuisco qui il numero di immagini in lista per comodità, in realtà si tratta di sequenze di 40-50 immagini per pagina)
<script language="JavaScript">
<!--
var interval = 8000;
var random_display = 0;
var imageDir = "trees/";
var imageNum = 0;
didascalieArray = new Array();
imageArray = new Array();
didascalieArray[imageNum] = "Phillip Johnson's Glass House, Connecticut 2010";
imageArray[imageNum++] = new imageItem(imageDir + "27_trees.jpg");
didascalieArray[imageNum] = "Berlin 2009/2010";
imageArray[imageNum++] = new imageItem(imageDir + "01_trees.jpg");
didascalieArray[imageNum] = "Berlin 2009/2010";
imageArray[imageNum++] = new imageItem(imageDir + "02_trees.jpg");
didascalieArray[imageNum] = "Berlin 2009/2010";
imageArray[imageNum++] = new imageItem(imageDir + "03_trees.jpg");
didascalieArray[imageNum] = "Berlin 2009/2010";
var totalImages = imageArray.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function getNextImage() {
if (random_display) {
imageNum = randNum(0, totalImages-1);
}
else {
imageNum = (imageNum+1) % totalImages;
}
var new_image = get_ImageItemLocation(imageArray[imageNum]);
document.getElementById("didascalia").innerHTML = didascalieArray[imageNum];
return(new_image);
}
function getPrevImage() {
if(imageNum-1 < 0) {
imageNum = totalImages-1;
}
else
imageNum = (imageNum-1) % totalImages;
var new_image = get_ImageItemLocation(imageArray[imageNum]);
document.getElementById("didascalia").innerHTML = didascalieArray[imageNum];
return(new_image);
}
function prevImage(place) {
var new_image = getPrevImage();
document[place].src = new_image;
}
function switchImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "switchImage('"+place+"')";
timerID = setTimeout(recur_call, interval);
}
// -->
</script>