Witam,
poniżej przedstawiam 2 pętle (myslę, że sensu ich nie ma co tłumaczyć, bo jest jasny, gdy się je porówna i przeczyta, co pod nimi):
for(var i = 0; i < tablica.length; i++)
{
if(zdjecie1.attr('src') == tablica[i].src)
{
zdjecie2.attr('src',tablica[i].src);
}
}
for(var i = 0; i < tablica.length; i++)
{
if(zdjecie.attr('src') == tablica[i].src)
{
alert(tablica[i].src);
}
}
Dlaczego w drugiej z nich ostatnia zmienna i zawiera każdy kolejny przebieg pętli (tyle okienek alert, ile przebiegów pętli - elementów tablicy tablica), a w pierwszej funkcji ostatnia zmienna i wskazuje jednorazowo na liczbę przebiegów pętli minus 1, czyli na ostatni element tablicy?
Na pierwszy rzut oka zachowanie tych dwu pętli wydaje się analogiczne (przynajmniej dla mnie), a tak nie jest. Dlaczego? Czy ktoś bardziej wtajemniczony mógłby mi to wyjaśnić? Dlaczego w przypadku drugiej pętli nie pojawi się tylko jedno okienko alert z liczbą przebiegów pętli minus 1?
Ta pierwsza pętla to oczywiście okrojona wersja pętli z projektu mojej strony - niestety nie działa tak jak sobie to wyobrażam i muszę posługiwać się instrukcją switch-case, co przy znacznej liczbie elementów jest dość uciążliwe.
Mam nadzieję, że to, co napisałem, jest zrozumiałe:)
Pozdrawiam
A.