N'Abend.
Zunächstmal: Warum so kompliziert... =) Ein i-frame hat doch in der Regel automatisch Scrollbars!
Und hier:
function scrollleft(i) {
doscroll = 1;
while(doscroll = 1)
{ window.scrollBy(-i,0); }doscroll = 0;
}
Warum sollte die while-Schleife aufhören? doscroll ist und bleibt 1.
Ich kann dir jetzt nicht auswendig sagen, wie du es genau machen musst, aber... doscroll außerhalb der Funktion definieren; eine scroll-Funktion mit setInterval starten, die doscroll immer wieder prüft und dann erst die Funktion aufruft, die das i-frame scrollt; doscroll wird dann mittels Mouseevents auf 1 oder 0 gesetzt. Am besten das ganze für jede Richtung.
Oder einfacher: Guck dir mal ganz genau an, wie es Leute gemacht haben, die das echt drauf haben! :)
Vierl Erfolg!
Bob