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:

codice:
    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);        
    },

...
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 tipo


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);   

    },

...
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)

che ne pensate?