Šta je novo?

JavaScript agonija...

WebWolf

Čuven
Učlanjen(a)
18.09.2004
Poruke
3,824
Poena
735
Moja oprema  
CPU & Cooler
AMD Ryzen 5600 & Scythe Mugen
Matična ploča
MSI X470 Gaming Pro Carbon
RAM
Kingston HyperX Predator 16GB 3200MHz
GPU
GeForce RTX™ 3060 Ti GAMING OC PRO 8G
Storage
Samsung 970 Evo Plus 1TB & Samsung 970 Evo Plus 500GB
PSU
Corsair RM650x
Kućište
NZXT H500
Miš & tastatura
Cooler Master MK730 & Razer Basilisk v3
Mobilni telefon
Pixel 7 Pro
Pametni uređaji
Xiaomi Roborock 6
Xiaomi Air Purifier 3H
Pristup internetu
  1. Optički internet
Pod silom zakona moram da uradim nesto u JavaScriptu i bas imam muku. Znaci onog ko tvrdi da je ovo OO jezik treba obesiti 😀 .

Najbolje da okacim prvo tekst zadatka:
Kod:
U Javascript-u napraviti klasu Nekretnina sa sledećim atributima: šifra, naziv, URL adresa slike nekretnine (apsolutna ili relativna adresa), cena, lokacija, površina (broj m2). Ova klasa sadrži i sledeće funkcije:
•Funkciju koja postavlja sve atribute
•Funkciju za prikaz podataka o nekretnini (bez slike), koja vraća generisani HTML

Napraviti klasu ListaNekretnina koja sadrži niz nekretnina. Ova klasa sadrži sledeće funkcije:
•Funkciju za dodavanje nekretnine u galeriju (broj parametara je jednak broju atributa klase Nekretnina)
•Funkciju koja obrađuje događaj kad se klikne mišem (onclick) na neku od nekretnina iz liste (čime se kupuje nekretnina - pozadina naziva nekretnine u listi se menja u crvenu boju, ukupnoj vrednosti se dodaje cena nekretnine.
•Funkciju koja obrađuje događaj kad se mišem pređe preko neke nekretnine u listi (onmouseover) – prikažu se podaci i slika sa leve strane
•Funkciju za  prikazivanje liste (kao na slici) u navedeni HTML element. Prikaz  realizovati tako što treba napraviti DIV element koji će služiti kao kontejner u kome će biti smešteni svi potrebni podaci. Zatim taj DIV element dodati navedenom HTML elementu. 

Učitavanje slike se vrši promenom src atributa <img> elementa. Zbog jednostavnosti, pretpostaviti da postoji samo jedan objekat klase ListaNekretnina na Web strani, pod nazivom lista.

Kako da populisem niz u jeziku koji ne poznaje tipove jednim odredjenim tipom? I kako taj niz objekata da pretocim u jednu listu tako da kada prevucem misem vidim ove ostale podatke? Napravio sam te funkcije nekako, ali kako sada sve to da povezem?

Evo ga i HTML, pa ako ima dobrih samaricana neka pomognu nesudjenom web dizajneru 😀 .
Sto se izgleda tice, ostavljeni su samo ovi placeholderi, da ne bude zabune...
 

Prilozi

Uh bre... Poenta svega ovoga je da nešto naučiš, al ajde, ne znam kontekst priče pa da ne popujem. U svakom slučaju je ovo previše posla za nekoga da ti sve odradi i da na tacni, ali evo da ti pomognem...

Baci pogled na sledeći link: http://jsfiddle.net/rRWmW/2/

Obrati pažnju na ListaNekretnina(). To je "klasa" koja sadrži niz (inicijalizujemo ga sa Array() ), i metod dodajNekretninu() koji prima iste parametre kao i funkcija Nekretnina. Funkcija Nekretnina je sama po sebi konstruktor i poziva se kao i u drugim jezicima, sa new. Tako da ovaj metod pravi novu nekretninu prosleđujući iste parametre koje i prima. Zatim, dodajemo novonastalu nekretninu u listu metodom push(). Drugim rečima gurnemo novu nekretninu u listu 🙂 Isto kao metod add() u generičkim listama u ozbiljnijim jezicima.

Takođe, obrati pažnju šta si stavljao u tekst.innerHTML i pogledaj kako sam ja to uradio, konkatenacija je makar ista u većini jezika 🙂

Eto to je ono glavno što se tiče objekata, e sad interaktivnost je druga priča, tu ima dosta posla da bi se ispunili svi uslovi zadatka i iskreno mrzi me. Da makar možeš da koristiš jQuery pa nekako. U svakom slučaju taj deo nije težak i mislim da ćeš se snaći. Možda sutra dodam neki jednostavan primer sa event-ovima itd. ako budem imao vremena

Edit:

Evo ajde uradio sam i malo interaktivnosti na brzaka.

http://jsfiddle.net/rRWmW/3/

Plava kocka sadrži listu nekretnina. Pređi mišem preko elemenata i u žutoj kocki će se pojaviti detalji nekretnine.
 
Poslednja izmena:
Naravno, nisam ni ocekivao da mi neko sve resi, hintovi su mi bili potrebni, ali kad si vec uradio, hvala ti.

U medjuvremenu sam ponesto sam prokljuvio, ali ovo dosta znaci.

Veliko hvala 🙂 .
 
Nazad
Vrh Dno