Explicatie cod JavaScript de la lectia Obiectul image - 1

Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.
Bogdan
Mesaje:4

Explicatie cod JavaScript de la lectia Obiectul image - 1

Salut, nu stiam in ce sectiune sa creez subiectul asa ca l-am postat aici, urmaresc cursurile tale de JavaScript si nu am inteles la capitolul obiectul image 1 cum de functioneaza urmatorul cod:

Cod: Selectaţi tot

imagini = new Array("img1.jpg","img2.jpg","img3.jpg"); 
nr = 0; 
function goback() { 
if (document.images && nr > 0) { 
nr--; 
document.imgs.src=imagini[nr]; 
} 
Daca variabila nr ai atribuit valoarea 0 cum de conditia if este adevarata daca nr > 0. Nu este fals? Cine ma poate ajuta ii multumesc ca nu-mi dau seama cum trebuie sa gandesc la acesta functie. Acesta este linkul cu intregul cod: https://marplo.net/javascript/image1.html

MarPlo Mesaje:4343
Salut
Functia goback() scade valoarea lui nr, daca e mai mare decat zero, si adauga adresa imaginii de la acel nr.
In script mai este o functie gonext() care mareste valoarea lui nr.
Deci nr se schimba in raport cu apelarea acestor functii, care sunt accesate de doua butoane.

Bogdan Mesaje:4
Am inteles ca functia goback scade valoarea variabilei nr dar cat are valoarea nr? De unde isi da seama if-ul cat este nr la inceput, asta nu am inteles. As fi inteles daca inaintea if-ului era nr=3 atunci da if-ul in decrementa dar asa cum este codul nu arata care este valoarea lui nr. Deci daca nu te superi poti sa imi mai explici inca o data.
P.S. din if document.images conditia arata ca daca nu este matricea sa nu functioneze, corect?

MarPlo Mesaje:4343
Codul nu se executa daca nr nu e mai mare ca 0 (functia nu va avea nici un rezultat), verificarea se face cu scopul sa nu scada sub 0 prin aplicarea "nr--".
Se executa doar daca nr este incrementat de functia gonext(). Ambele functii lucreaza cu aceeasi variabila nr.
Cand nr e 0, codul de la acel if() nu se executa. Daca e 1, se executa "nr--" care-l face 0, apoi adauga adresa cu acel index.
- Ca sa vezi daca se executa sau nu, adauga un: alert('ok'); la acel if().

Conditia if(document.images) nu e chiar asa necesara in acest cod, verifica sa existe imagini (tag <img>) in documentu html (in pagina).

Bogdan Mesaje:4
Aha am inteles eu l-am luat pe bucati deci fara functia gonext nu avea cum sa mearga am inteles ms revin dupa ce am sa incerc si eu codul ca sa vad daca am inteles