hi,
Da Deine Funktion mit setTimeout nur einmal ausglöst wird, müsstes Du diese Funktion rekursiv (also in sich selbst) nochmal aufrufen.
oder er greift gleich zu setInterval, das beim mouseover aufgerufen wird, und onmouseout wieder mit clearInterval beendet wird.
Eben dann wirst Du wahrscheinlich aber o.g. Problem haben.
dann muss er halt eine prüfung einbauen, an welcher position die bewegung stoppen soll, unabhängig davon, ob die maus noch über dem bereich ist oder nicht.
gruss,
wahsaga