david: ie: event innerhalb von do

Wie kann ich innerhalb einer Schleife, auf events reagieren?

Es handelt sich bei dem Problem um eine Scrollleiste, die anstelle
der langweilig grauen Normal-Scrollleiste erscheinen soll.
Solange also der Anwender die Maustaste gedrückt hält, soll die Seite
verschoben werden [window.scrollTo(0,y)]. Wenn er die Maustaste loslässt, soll die dazu eingeleitete Schleife abgebrochen
werden (->Fensterinhalt bleibt stehen).
Verschiedene Ansätze [onMouseup="break;"
 oder <script for=document event="onMouseup">] funktionieren nicht,
weil der Internet Explorer immer erst die Schleife fertig abhandelt, bevor auf den neuen Event reagiert wird.

Wäre echt cool, wenn mir da jemand helfen könnte.

  1. Hallo,

    Es handelt sich bei dem Problem um eine Scrollleiste, die anstelle
    der langweilig grauen Normal-Scrollleiste erscheinen soll.
    Solange also der Anwender die Maustaste gedrückt hält, soll die Seite
    verschoben werden [window.scrollTo(0,y)].

    Am einfachsten geht das wohl mit

    | <SCRIPT language="JavaScript">
    | <!--
    | var scrollInterval;
    |
    | function scrollpress()
    | {
    |   scrollInterval = setInterval("window.scrollBy(0,2)",100)
    | }
    |
    | function scrollrelease()
    | {
    |   clearTimeout(scrollInterval);
    | }
    | //-->
    | </SCRIPT>
    |
    | ...onMouseDown="scrollpress()" onMouseUp="scrollrelease()"...

    Du solltest aber lieber die Standart-Scrollbar einfärben (http://www.favicon.de/scrollbalken.html), weil sonst nicht-Java-Script-Besucher ohne Intelli-Mouse nicht weit kommen.

    Robert