Ciao a tutti, ho il segeunte problema (che naturalmente mi sono cercato da solo... :rollo:)
vorrei sapere all'interno di una classe in js come posso fare un settimeout verso la classe stessa: il (frammento di) codice è il seguente:
in pratica non riesco ad eseguire l'istruzione in rosso perchè js dice che this.scrollX non è una funzione (!!!) : ho provato anche a fare qlcs del tipocodice:scrollX : function(scrollBy, speed) { this.tClip += scrollBy; this.bClip += scrollBy; this.tPos -= scrollBy; //alert("tclip:"+this.tClip +" - "+ this.bClip +">"+this.hDiv); if (this.tClip < 0 || this.bClip > this.hDiv) { this.tClip -= scrollBy; this.bClip -= scrollBy; this.tPos += scrollBy; } this.scrollDiv.style.clip = 'rect('+ this.tClip +'px, '+ this.wClip +'px, '+ this.bClip +'px, 0)'; this.scrollDiv.style.top = this.tPos + 'px'; this.interval = setTimeout('this.scrollX('+scrollBy+', '+speed+')', speed); }, ...
però la console javascript di FF mi lancia un warning dicendo "too many recursion" e l'esecuzione dell script avviene, ma troppo velocemente (in una volta sola)codice:callfunc : function(scrollBy, speed) { this.scrollX(scrollBy, speed); }, scrollX : function(scrollBy, speed) { this.tClip += scrollBy; this.bClip += scrollBy; this.tPos -= scrollBy; //alert("tclip:"+this.tClip +" - "+ this.bClip +">"+this.hDiv); if (this.tClip < 0 || this.bClip > this.hDiv) { this.tClip -= scrollBy; this.bClip -= scrollBy; this.tPos += scrollBy; } this.scrollDiv.style.clip = 'rect('+ this.tClip +'px, '+ this.wClip +'px, '+ this.bClip +'px, 0)'; this.scrollDiv.style.top = this.tPos + 'px'; var s = this.callfunc(scrollBy, speed); this.interval = setTimeout(s, speed); }, ...
che ne pensate?

)
Rispondi quotando