uczę się Javascriptu i od kilku godzin próbuję zrobić sobie prostą animację w stylu przesuwania elementów. Załóżmy że mam element o id="test". W skrypcie mam coś takiego:
var ax, mx, object, position, positiontext; mx= screen.width-50; function move(position) { positiontext=position+"px"; document.getElementById("test").style.left=positiontext; } function show() { for(ax=1;ax<=mx;ax+=10) { setTimeout("move(ax)",100); } }
Zadaniem skryptu jest przesunięcie elementu z jednego krańca ekranu do drugiego. Funkcja działa, ale nie tak jak bym tego oczekiwał. Chciałbym aby element blokowy przesuwał się powoli od lewej strony do prawej. Do tego użyłem funkcji setTimeout. Niestety pod operą i IE po wciśnięciu buttona który odpowiada za uruchomienie funkcji przesunięcia, po upłycięciu 100ms element przesuwany jest od razu do prawej strony.
Gdzie popełniłem błąd? Ewentualnie w jaki inny sposób przesuwać elementy w czasie?