[RISOLTO] slider javascript problema settimeout
Ciao ragazzi,
sto realizzando un semplice slider che cambi le immagini dopo un certo tempo, ma ho un piccolo problema. Ho realizzato un metodo "scorri" che deve cambiare l'immagine, ma quando invoco setTimeout mi da questo errore:
this.scorri is not a function
La cosa che non riesco a capire è che il metodo viene eseguito una volta, nel metodo init, e cambia l'immagine. La sua ultima riga contiene il setTimeout e qui ottengo l'errore, dice che
this.scorri non è una funzione, ma lo ha eseguito. Dove sbaglio? Questo è il codice:
Codice:
function slider(id,indirizziFoto) {
this.riquadro = null;
this.immagini = indirizziFoto;
this.link = null; //array che contiene i link di riferimento per ogni immagine dello slider
this.imgAttuale = 0; //l'indice del riquadro attuale inizializzato a 0, la prima immagine dell'array
this.timeout = null; //timeout per il metodo scorri
this.init = function() {
this.riquadro = document.getElementById(id);
this.scorri();
};
this.avanti = function(){
if(this.imgAttuale <this.immagini.length-1) {
this.imgAttuale += 1;
this.riquadro.src = indirizziFoto[this.imgAttuale];
}
};
this.indietro = function() {
if(this.imgAttuale >0) {
this.imgAttuale -= 1;
this.riquadro.src = indirizziFoto[this.imgAttuale];
}
};
this.scorri = function() {
if(this.imgAttuale <this.immagini.length-1) {
this.imgAttuale ++;
this.riquadro.src = indirizziFoto[this.imgAttuale];
}
else {
this.imgAttuale = 0;
this.riquadro.src = indirizziFoto[this.imgAttuale];
}
this.timeout = setTimeout("this.scorri();",2000);
};
}