28.03. - 2.zadatak - Zanimljivosti
Kreirati web stranicu u kojoj se prikazuju slike zanimljivih lokacija koje dolaze u obzir za ponovnu posetu prilikom letovanja. .
Na stranici treba da se nalaze 4 male slike i jedna velika slika, kao i mesto gde se ispisuje opis slike.
... (kao na slici) ...

- Klikom na malu sliku treba da se ta slika prikaže u delu za veliku sliku, a opis slike da se prikaže u delu rezervisanom za opis.
- Prelaskom miša preko velike slike treba da se čuje zvuk, a kada miš "izađe" sa područje velike slike, onda taj zvuk treba da prestane.
Materijali koji su potrebni za ovaj zadatak: zanimljivo.7z (klik za preuzimanje arhive, pa je raspakujte na vašem računaru)
****************************************************
Zadatak je predviđen za rad na bloku od 3 časa - koristi se čist JavaScript i Fetch API
*****************************************************************
Koraci u radu:
Početak:
- kreirati folder u kojem se radi, otvoriti ga sa VS Code, pa kreirati fajlove za html, css, js
- ! za šablonsko kreiranje html-a
- Unutar ovog foldera postaviti folder za slike i tu ubaciti potrebne slike
- Tekstualni fajl sa opisima slika ostaviti da je pored html fajla (i zvučni fajl)
HTML:
- Postaviti naslov
- Ispod naslova postaviti sve 4 slike
- isti width i height + border-radius:50% za okrugle slike
- može se koristiti kontejner za male slike, a ne mora - izbor je vaš
- Ispod toga postaviti jednu veliku sliku
- za početak tu staviti prvu sliku
- Ispod velike slike postaviti deo u koji će se smeštati tekst opisa
- može biti div, p, ili šta god želite
CSS:
- Za sve slike postaviti da su okrugle (to može za ovakve zahteve zadatka)
- za sve male slike postaviti istu klasu kojoj se postavlja da imaju isti width i height (npr 100px)
- za veliku sliku postaviti veće dimenzije i da je na sredini ekrana (margin: auto)
- velikoj slici i mestu za opis postaviti ID
JS:
- za sve postoji mnogo različitih načina za rad - u ovom zadatku koristimo pozivanje funkcija
- akcije za male slike:
- onclick="promena(this.src, brojReda)"
- akcija za veliku sliku:
- onmouseover="pustiZvuk()"
- onmouseleave="zaustaviZvuk()"
Kako se učitava fajl:
- ovo može da se izvede na više načina:
- korišćenjem moderne verzije - Fetch API i običnog JavaScript-a
- korišćenjem starije verzije - AJAX i metoda get, uz korišćenje JQuery
- u ovom zadatku će biti korišćen moderni pristup ( Fetch API )
- radi jasnijeg prikaza koristiće se dve funkcije:
- funkcija za preuzimanje podataka preuzmiPodatke()
U nastavku je iza dugmeta Slika table iz učionice

Jedan od načina da se u jednoj funkciji vrši i promena slike i promena teksta:
- funkcija u kojoj se ujedno preuzimaju podaci i vrši promena slike
function promena(adresaSlike, brojReda) { document.getElementById("velika").src = adresaSlike; preuzmiPodatke(brojReda); } - u ovakvoj funkciji se vidi da se keo prvi argument prenosi adresa fajla u kojem je slika
- Na primer, ako je u pitanju prva slika, kojoj odgovara prvi red teksta, tada bi poziv funkcije iz tag-a slike izgledao ovako:
onclick = "promena(this.src, 1)"
Kako se pušta zvuk:
- I ovo može da se izvede na više načina, ali je zajedničko da se koristi HTML tag Audio:
- može se postaviti tag bilo gde na stranicu i kada treba da se pusti zvuk (
play()) ili zaustavi (pause()) - može se Audio tag kreirati i u JavaScript-u, po potrebi - ovde će ova verzija biti prikazana:
function pustiZvuk() { var audio = new Audio('tikTak.mp3'); audio.play(); } - a kako to izgleda u html-u:
<img src="slike/slika1.jpg" id="mala" onmouseover="pustiZvuk()" onmouseleave="zaustaviZvuk()">
- Napomena: za zaustavljanje zvuka se koristi metoda pause()
- može se postaviti tag bilo gde na stranicu i kada treba da se pusti zvuk (