Ho dovuto modificare un po' il codice per farlo funzionare con IE6, più ho aggiunto qualche naturale evoluzione, peccato solo che non funzioni mettendo nell'onload una funzione (setValueFor)
Codice PHP:
<script language="JavaScript">
var imgShowed = new Array();
// formato nome immagine = ABCDE --> A ="path", B="nome", C="01, 02, 03, etc", D="_0, _1, _2, etc", E=ext --> /path_to/img01_0.jpg
var imgPath = "file:///home/sly/syberiaitalia/Testi/from2Dto3D";
var imgName = "f2Dto3D_img";
var imgExt = ".jpg";
var totNumOfImgs = "21";
// crea array (C)
var imgN = new Array();
for (i = 1; i<=totNumOfImgs; ++i) {
(i<10) ? imgN[i] = "0"+i : imgN[i] = i;
}
/*
function setValuesFor(n){
this.onload=null;
this.src=imgPath+'/'+imgName+imgN[n]+'_0'+imgExt;
this.name=this.src.slice(imgPath.length+1, this.src.length-2-imgExt.length);
this.id=this.name;
}
*/
function swapImg(imgID, numberOfVariants, imgSrc){
var imgNumber = imgID.slice(imgID.length-2);
if (!imgShowed[imgNumber]) imgShowed[imgNumber] = 0;
var imgToShow = new Array();
// inizializza array (D)
for (i = 0; i<numberOfVariants; ++i) {
imgToShow[i] = imgID+"_"+i;
}
// se è l'ultima immagine della serie, azzera il contatore
if (imgShowed[imgNumber] == numberOfVariants-1) {
document.getElementById(imgID).src=imgPath+"/"+imgToShow[0]+imgExt;
imgShowed[imgNumber]=0
}
// altrimenti incrementalo di uno
else { document.getElementById(imgID).src=imgPath+"/"+imgToShow[++imgShowed[imgNumber]]+imgExt; }
}
</script>
[...]
<p align="center">
[img]fake_img.gif[/img]
</p>
<!--
<p align="center">
[img]fake_img.gif[/img]
</p>
-->
<p align="center">
[img]fake_img.gif[/img]
</p>
Nello specifico il codice prevede un set di tot immagini numerate (nome01, nome02, ... nome10, nome11, ...) ognuna con tot varianti (_0, _1, _2, ...), e al click scorre le varianti di ogni immagine. Le immagini sono tutte nel path definito all'inizio, in più serve un'immagine fake_img.gif se no non funziona :berto: