Pytanie o poprawność funkcji

0

Witam serdecznie. Jestem tutaj gościem i praktycznie początkującym w sprawach JS. Wiem że pytanie może Wam wydawać się banalne, bądź wręcz głupie, ale praktycznie na wykonanie zadania mam bardzo mało czasu.

Przechodząc do sedna. Czy taka funkcja ma jakiekolwiek prawa bytu?

<script language=javascript>
var n=0;
function czasowa()
{
document.write('<img src=' + obrazki[n] + ">");
n=n+1;
if (!(n <= (obrazki.length-1)))
{n=0};
setTimeout("czasowa()",2000);
}
</script>

Za odpowiedź z góry dziękuję.

0

Wiele rzeczy jest w niej zbędnych. Ogólnie powinna wyglądać raczej tak:

var n=0;
function czasowa() {
  document.write("");
  n++;
  if (n > (obrazki.length-1))
    n=0;
  setTimeout("czasowa()",2000);
}

Jeśli n jest używane tylko i wyłącznie wewnątrz funkcji czasowa to można jeszcze lepiej:

function czasowa() {
  if (typeof czasowa.counter == 'undefined')
    czasowa.counter = 0;
  document.write("");
  if (++czasowa.counter > (obrazki.length-1))
    czasowa.counter = 0;
  setTimeout("czasowa()",2000);
}
0

Dzięki;) Czyli sama funkcja, prócz nadmiaru zbędnych literek nie ma błędu?
Więc może w ogóle mój zamysł jest błędny. Jeżeli tak to proszę bardzo o poprawę:

Dostałem zadanie by w JS wykonać prosty pokaz slajdów, gdzie liczba x obrazów była wyświetlana w regulowanych odstępach czasowych.
Wykonałem wcześniej tablicę z ścieżkami dostępu do danych obrazów. document.write('+tablica[n]+') poza funkcją spełnia oczekiwania, ale tylko dla deklarowanej wcześniej wartości n, zaś mnie zależy, by n było zmienne w czasie. Czy taką metodą jest to możliwe, czy raczej jest ona zupełnie bez sensu?

0

W document.write(y) y=z+v+a gdziez='<img src=' v=tablica[n] a='>'

0

Ech znów się nie udało.

Jako wyraz v wpisałem tablica[n] zaś skrajne litery przedstawiają resztę komendy w języku HTML do umieszczania obrazu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1