trovo questo link molto più chiaro:
http://stackoverflow.com/questions/7...or-setinterval
inoltre ho modificato la classe così...ma quando clicco la prima volta per far uscire il div non ci sono problemi di nessun tipo...la seconda volta ce ne sono parecchi...il div scatta vistosamente e poi si pianta il browser....cosa sbaglio?
Codice PHP:function Slider(cosa){
this.tempo = 5;
this.vel = 100;
this.mov = 2;
this.id = cosa;
this.start = 100-document.getElementById(this.id).offsetHeight;
var timeout;
var timeout2;
var scope = this;
if(this.start%2!=0) this.start++;
this.end = this.start+document.getElementById(this.id).offsetHeight;
if(this.end%2!=0) this.end++;
document.getElementById(this.id).style.top=this.start+"px";
this.getPosition = function(){
return parseInt(document.getElementById(this.id).style.top);
};
function scendilo(){
if(this.getPosition() >= this.end){
clearInterval(timeout);
return;
}
document.getElementById(this.id).style.top=this.getPosition()+this.mov+"px";
timeout = setInterval(function(){scope.scendilo()}, this.vel);
};
function salilo(){
if(this.getPosition() <= this.start){
clearInterval(timeout2);
return;
}
document.getElementById(this.id).style.top=this.getPosition()-this.mov+"px";
timeout2 = setInterval(function(){scope.salilo()}, this.vel);
};
this.move = function(){
if (this.getPosition() == this.start) scendilo();
else salilo();
}
}

Rispondi quotando