Robert: Und wieder mal scrollBy();

Beitrag lesen

Na dann, guten Abend alle zusammen.
Habe ein kleines Problemchen mit folgender Funktion (ist jedoch kein Fehler - hoffe ich):

DAS SCRIPT:
function scroll2right(pos) {

var x = 0;

if (window.pageXOffset) {
        x = window.pageXOffset;
    } else if (document.body && document.body.scrollLeft) {
        x = document.body.scrollLeft;
    }

while(x < pos) {
        setTimeout("window.scrollBy(10,0)",10);
        x = x + 10;
    }

}

DAS PROBLEMCHEN:
Das Ding rennt los wie der Blitz! Ich möchte zwischen jedem Durchlauf der "while()" eine etwas längere Pause haben, damit die Bewegung langsamer stattfindet.
Die 10 Millisekunden (habe es auch mit 1000 versucht) in der "setTimeout" werden scheinbar lediglich beim ersten Durchlauf berücksichtigt, danach rennt die "while()" eben so schnell wie mein Rechner nur kann.

1. FRAGE:
Kann es überhaupt sein, dass die in der "setTimeout" eingestellte Verzögerung nur im ersten Durchlauf berücksichtigt wird?

2. FRAGE:
Wenn ja, was kann ich dagegen tun?

3. FRAGE:
Wenn nein, kann ich evtl. mit einer anderen Schleifen-Timeout-Konstellation (z.B. "for()") das gleiche erreichen wie im Beispiel oben - nur funktionierend?

DAS BETROFFENE PROJEKT FINDET IHR UNTER:
http://www.ckconsulting.de/preview
(Inhalte sind allerdings noch keine drin ...)

MEINE TESTBROWSER (mit Version):

  • MSIE  (6.0.2800.1106.xpsp2.030422-1633)
  • OPERA (Version 7.11, Build 2887)
  • NETSCAPE (7.1)

Vielen Dank schon mal für eure Hilfe! Auch für kurze Berichte, ob es bei euch auch so dermaßen losflitzt, wäre ich dankbar.
Gruß Robert

PS: Hab mir das Forum schon gründlich angeschaut. Ich hoffe ich habe einen Thread der mein Thema bearbeitet nicht übersehen ...