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
Subiecte similare
-
Adaugare apostrof la value in input cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am un cod JavaScript care adaugă un câmp input pentru utilizator:
var user = O'Conner, John ;
b.innerHTML += <input type='hidden' value=' +...
Ultimul mesaj
Poți să înlocuiesti caracterul cu entitatea lui HTML.
Astfel, pentru apostrof (') poate fi ’ sau ‘
var user = O'Conner,...
-
Produsul Dot a doua array in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
Cum se poate implementa eficient o metoda dotProduct (pentru a obține produsul Dot din două array) fără a importa alte biblioteci Javascript?
De...
Ultimul mesaj
Iată o metodă.
Se foloseste funcția map() pentru a crea un nou array cu rezultate înmulțite ale fiecărui index, apoi se aplica funcția reduce()...
-
Problemă cu 'this' în function.call() în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
De ce function.call() se comportă diferit cu ' this ' cand nu e adaugat ca argument, în JavaScript?
Rezultatul cu 'this' în test.call() este același...
Ultimul mesaj
Functia call() necesita primul argument, care e pentru obiectul 'this', daca nu ai nevoie de el, adauga null .
test.call(null, ...args);
In...
-
Lungime obiect JSON in JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am convertit un tabel din baze de date într-un obiect JSON.
Aceasta este, în esență, un array bidimensional, fiecare înregistrare fiind pe cate un...
Ultimul mesaj
Poti sa folosesti Object.keys pentru a obține lista de chei din obiect ca un array, apoi obții cu 'length' lungimea din el:...
-
Sare peste index-uri in bucla for…of in Javascript
JavaScript - jQuery - Ajax
Primul mesaj
In vechea bucla for() in JavaScript, ca sa sar peste index-uri faceam asa:
for (let i=0; i<bla.length; i+=2){
//...
}
Astfel, pentru...
Ultimul mesaj
Poti sa adaugi o conditie if() in bucla for…of, ca in urmatorul exemplu (indexul initial e pastrat).
for (const of bla.entries()) {
if (!(i %...
-
Afisare cu animatie continut adaugat cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Ideea pe care vreau sa o fac e că la clic pe un buton, conținutul vechi e înlocuit cu nou conținut HTML adăugat cu javascript.
Vreau ca noul...
Ultimul mesaj
Pentru a declanșa o tranziție CSS, modifica starea CSS după ce ai introdus codul HTML. Poți face asta schimbând o clasă (la container sau la un...