Dzięki, znalazłem to wcześniej, ale myślałem, że nie będę musiał tego używać

Teraz mam taki "grubszy" problem. Całość opiera się na tym, że chcę zbudować funkcję, która będzie animowała różne elementy na stronie (szerokość jakiegoś diva, margines, itp.). Na początku było ok - do funkcji podawało się ilość pikseli, o którą div będzie się powiększał co jakiś czas (tu wykorzystanie setInterval). Ale gdy div miał szerokość 400, a wysokość 600, to powiększanie było nie równe (wiadomo, najpierw kończyła szerokość, potem wysokość). Więc wykombinowałem, że zamiast ilość pikseli będę umieszczał czas, w jakim powiększanie np. szerokości diva ma się zmieścić. I tu zaczynają się problemy. Wykombinowałem taki wzór:
ilosc pikseli na raz = ilosc pikseli/czas*predkosc
ilość pikseli na raz - o tyle będzie się przesuwał div za każdym razem (ta funkcja, co jest zapętlona w setInterval
ilosc pikseli = droga, jaką te powiększenie/pomniejszenie musi przejść (czy np. div ma 400, a ma mieć 600, więc 200)
czas = czas, w takim czasie te powiększenie musi się odbyć
prędkość = to jest zapętlenie w while, począwszy od 1 do... i tutaj nie wiem do ile, tego jeszcze nie ustaliłem do końca
Jak wiadomo, nie można przesunąć diva o np. 3.14 piksela, więc wynik powyższego działania musi być całkowity (tak też jest zapętlona powyżej pętla). Ale są liczby, gdzie wynik całkowity jest o np. 30 pikseli mniej, a wychodzi, żeby przesuwać o 3 piksele na raz z prędkością np. 8, więc cały czas będzie się przesuwać o 3, a na końcu nagle o 30.
Nie wiesz może, co innego (najlepiej prostszego

) zastosować, aby to dobrze działało? Albo udoskonalić to, co sam zrobiłem, nie wiem.