Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> setTimeout w pętli for
matewka
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 14.11.2009

Ostrzeżenie: (0%)
-----


Witam. Nurtuje mnie pewien problem. Chciałbym zrobić funkcję, która przesuwa obrazek w dół i w prawo o 3 piksele w pewnych odstępach czasu. Z tym, że chciałbym, żeby te odstępy czasu zwiększały się z każdym przesunięciem. Oto kod, który stworzyłem:
  1. function oneStep() {
  2. div = document.getElementById('fotka').style
  3. div.left = parseInt(div.left)+3+"px"
  4. div.top = parseInt(div.top)+3+"px"
  5. }
  6. function moveImage() {
  7. for(i=1000;i<=15000;i+=1000) {
  8. window.setTimeout("oneStep()",i)
  9. }
  10. }

Jak widać, funkcja oneStep() przesuwa obrazek, ale przedtem funkcja moveImage() każe jej odczekać jedną sekundę. Następnie oneStep() znów przesuwa obrazek i tym razem ma odczekać 2 sekundy, następnie 3, 4 itd. aż do 15 sekund. Niestety w rzeczywistości tak się nie dzieje. Obrazek cały czas przesuwa się co 1 sekundę aż przesunie się 14 razy. Specjalnie ustawiłem długie opóźnienie, żeby zniwelować błędy spowodowane szybkością czytania kodu przez przeglądarkę. Ale niestety różnica w czasie między kolejnymi przesunięciami nadal jest niezauważalna. Co robię źle?

Ten post edytował matewka 14.10.2010, 13:50:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 20:58