Pomoc, ne znam zasto mi ne rade funkcije

3

Pomoc, ne znam zasto mi ne rade funkcije

offline
  • Pridružio: 31 Dec 2015
  • Poruke: 1301

Znaci ako stavim Funckija() onda ce je kod pozvati da se odradi, a ako napisem Funckija u sklopu neke metode onda ce se komande iz Funckije predati toj nekoj metodi ili necemu drugom. Jel tako?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4576

Ne baš - neće se komande iz funkcije predati već će se funkcija proslediti kao argument da bi se kasnije eventualno pozvala. Funkcija kojoj prosleđuješ funkciju ne zna šta se u njoj nalazi.

Funkcije koje se prosleđuju kao parametri drugim funkcijama nazivaju se callback funkcije.



offline
  • Pridružio: 31 Dec 2015
  • Poruke: 1301

Aha, znaci tako. A ono vezano za Math.min i Math.max funkcije kako sam mogao da je iskoristim u mom kodu i gde se one najcesce koriste? I da li sam upravu u vezi pisanja ++ ispred i iza promenljive?

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Da, u pravu si za ++ i -- operatere. Vezano za implementaciju u tvom slucaju, to bi islo ovako nekako:

function rightArrowSlide(){     current  = Math.min(++current, sliderImages.length - 1); } function leftArrowSlide(){     current  = Math.max(--current, 0); }

Razumes li ovaj kod?

offline
  • Pridružio: 31 Dec 2015
  • Poruke: 1301

Evo ovako ja to razumem.

sliderImages ima tri elementa u nizu sa indeksima 0, 1, 2 a current je dodeljena vrednost 0.
Ako smo na prvoj slici odnosno sliderImages[current = 0] i kliknemo na desnu strelicu koja ima ovu funkciju:
function rightArrowSlide(){     current  = Math.min(++current, sliderImages.length - 1); }
Onda current postaje minimum izmedju ++current sto je 1 i sliderImages.lenght - 1 sto je 2. I to je uredu, jer se onda prikazuje slika sa indeksom 1 i to je druga slika.
Kada se ponovo klikne desna strelica onda current postaje minimum izmedju ++current sto je 2 i sliderImages.lenght - 1 sto je i dalje 2. Onda ce funckija Math.min da uzme vrednost 2 (pretpostavljam, jer su obe vrednosti 2). To je opet u redu, jer nam treba treca slika odnosno slika sa indeksom 2.
Kada ponovo kliknemo desnu strelicu onda current postalje minimum izmedju ++current sto je 3 i sliderImages.lenght - 1 sto je i dalje 2. Znaci prikazace nam se ponovo treca slika odnosno slika sa indeksom 2, jer je sada u Math.min minimum sliderImages.lenght - 1.

Jel sam dobro shvatio?

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Jesi, sve je bas onako kako si opisao.

Dopunsko pitanje: zasto se koristi min/max u ovom slucaju? I kako bi izgledao kod da ih ne koristis?

offline
  • Pridružio: 31 Dec 2015
  • Poruke: 1301

Napisano: 25 Feb 2018 17:58

Evo ga moj ceo kod sa HTML CSS JS. Pogledaj ga molim te i reci mi da li one dve funkcije koje si mi poslao i dalje treba da budu takve kakave jesu da bi kod radio posto mi kod ne radi ako samo njih zamenim sa mojim sadasnjih funkcijama.

Dopuna: 25 Feb 2018 18:08

Napravio sam ovu funkciju:

function rightArrowSlide() {   reset();   if (current === sliderImages.length - 1)     current = -1;   current = Math.min(++current, sliderImages.length - 1);   sliderImages[current].style.display = 'block'; }

Ona radi umesto ove dve zajedno:

function slideRight() {   reset();   sliderImages[current + 1].style.display = 'block';   current++; } function rightArrowSlide() {   if (current === sliderImages.length - 1)     current = -1;   slideRight(); }

Dopuna: 15 Mar 2018 15:53

Pozdrav!

Naidjoh na problem. Prvo cu poslati kod pa cu objasniti gde sam zapeo.

HTML
<a href="#"><i class="fa fa-facebook-official" aria-hidden="true"></i></a> <a href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a> <a href="#"><i class="fa fa-instagram" aria-hidden="true"></i></a> <a href="#"><i class="fa fa-google-plus" aria-hidden="true"></i></a> <a href="#"><i class="fa fa-linkedin"></i></a>

CSS
.fa {   color: #262626;   font-size: 30px;   position: absolute;   top: 20px;   right: 20px; }

JS
var j; var Fa = document.querySelectorAll('.fa'); for (i = 0, j = 50; i < Fa.length; i++, j = j + 50) {   Fa[i].style.top = "j" + "px"; }

Zelim da mi svaka sledeca fontawesome ikonica bude za 50px ispod prethodne. Ja sam zamislio da mi pomocu i brojaca svaka sledeca ikonica bude pomerena za 50px pomocu j brojaca. Ne razumem zasto mi ne radi kod.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14825
  • Gde živiš: Niš

Pa kako se manifestuje to "ne radi"? Jesi probao da debagiraš?

offline
  • Pridružio: 31 Dec 2015
  • Poruke: 1301

Nista se ne desava, nema nikakvog efekta. Ako u for ciklusu komandu za menjanje top pozicije zamenim sa komandom za menjanje boje slova onda se slova i promene. Inace, nisam probao sa debuggerom. Nisam se bakcao sa tim, ali izgleda da cu morati i to da naucim.

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14825
  • Gde živiš: Niš

Pa počni da se bakćeš. Programer koji ne ume da debagira kod koji je sam napisao i nije neki programer...

Ko je trenutno na forumu
 

Ukupno su 951 korisnika na forumu :: 79 registrovanih, 2 sakrivenih i 870 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Abebe Bikila, acov34, ajo baba, AndrejPetar, Andrija357, Arsenije, Beardonitch, Ben Roj, black venom, Boris BM, boromir, Borski1977, BORUTUS, Bozjidar87, brundo65, Bubili, Ca6otep, Crazzer, cvale, darkangel, dejan71, dejankm, djboj, Djokislav, Djota1, dmrdc, dragoljub11987, drpera, Electron, Feller, FileFinder, Futurama, gorankuba, Hans Gajger, Hitri, Incognito, istina, Jakonjveliki, jalos, jarovitt, jodzula, Joja, Jonbonjovi, K-1A, Kenanjoz, Lieutenant, Litostroton, M74AB3, Magistar78, mainstream, mb1213, MDrasko, mercedesamg, mexo, mgolub, mikrimaus, milenko crazy north, miodrag, Mićko, nebkv, ostoja, pein, peradetlić, Petarvu, Podljub, Povratak1912, Prečanin30, PrincipL, R_038, sevenino, Srpska zauvjek, strn, trajkoni018, Vaske8990, vdeki, Vlad000, VladaDi, zombicar153, 223223