Ich sehe niergends ein Stop des Scripts...
Du sagst:
Nun, nach deinem Script ist das immer der Fall, also kommt er auch immer in da hinein und rufst scroll wieder auf.
if(x<=X||y<=Y){
setTimeout('scroll()');
}
Sobald er oben mal ins else x=X kommt, musst du das script beenden, oder eine variable setzen welche dann du beim if x<=X Ausschliesst..
(evt. etwas komisch erklährt, aber du hast einen Denkfehler drin.)
Also ich würde es so machen.
Code:
<script type="text/javascript">
var X=150,Y=2000,dX=20,dY=10;
function scroll(){
var x=self.pageXOffset||document.body.scrollLeft;
var y=self.pageYOffset||document.body.scrollTop;
if(x+dX<=X)
{
x+=dX;}
else{
x=X;
v+=1;
}
if(y+dY<=Y)
y+=dY;
else{
y=Y;
v+=1;}
scrollTo(x,y);
if(x<=X||y<=Y&&v<0){
setTimeout('scroll()');
}
};
</script>