Poslao: 18 Nov 2017 23:15
|
offline
- minickg
- Novi MyCity građanin
- Pridružio: 16 Jan 2010
- Poruke: 23
|
Pozdrav drugari. Imam sledecu funkciju koja ispsusje h1 - h6. Igram se malo sa funkcijom setInterval() , pa sam pokusavao da napisem script koji ce na primer na 2sec da mi ispusuje tagove od h1 - h6. Na zalost nisam uspeo pa bi mi trebala vasa pomoc.
function name() {
var i = 1;
while (i < 7) {
document.write("<h" + i + ">Danas je divan dan</h" + i + ">")
i++;
}
}
name();
Kapiram da setInteraval ima dva parametra. Prvi je funkcija koju zelim da postaviom da mi radi intervale, a drugi vreme intervala. Kako bih ovo mogao da izvedem ?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 19 Nov 2017 00:05
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Pa samo pozoveš setInterval funkciju i predaš joj kao parametre funkciju koju želiš da pozivaš kada se interval završi i sam taj interval:
setInterval(name, 2000);
|
|
|
|
Poslao: 19 Nov 2017 12:41
|
offline
- minickg
- Novi MyCity građanin
- Pridružio: 16 Jan 2010
- Poruke: 23
|
Mozda nisam lepo objasnio sta zelim. Hocu da mi se ispisuje h1 pa interval od 2 sec, pa onda h2 pa interval ...i ako do h6. Tako mi ispisuje svih h1-h6 pa onda interval...
|
|
|
|
Poslao: 19 Nov 2017 12:52
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
I nakon toga da zastane ili da krene ponovo od h1?
Moraćeš da izmeniš metodu tako da ne radi dodavanje svih elemenata odmah, nego da pri svakom pozivu dodaje samo jedan element, a koji tačno - to će da zavisi od vrednosti nekog globalnog parametra koji će nakon dodavanja elementa da se inkrementira.
|
|
|
|
Poslao: 19 Nov 2017 13:05
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
Funkcija koja je prosleđena kao parametar za setInterval() se izvršava sve dok se ne pozove clearInterval() tako da bi rešenje tvog problema bilo:
var i = 1;
var interval = setInterval( function () {
document.write("<h" + i + ">Danas je divan dan</h" + i + ">");
(i < 6) ? i++ : clearInterval(interval);
}, 2000);
Pozivanjem setInterval() u while petlji bi stalno kreirao nove intervale koji bi se izvršavali u beskonačnost. Ovako, nakon određenog intervala svaki put ispisuješ ono što želiš, a nakon toga proveravaš da li je promenljiva i manja od 6. Ako jeste, samo povećavaš i, a ako nije, samo brišeš trenutno postavljen interval.
Isti primer, ali sa izdvojenom funkcijom:
var i = 1;
var interval = setInterval(name, 2000);
function name() {
document.write("<h" + i + ">Danas je divan dan</h" + i + ">");
(i < 6) ? i++ : clearInterval(interval);
}
Ako ti nije jasna linija provere baci pogled na ovaj članak.
|
|
|
|
|
Poslao: 19 Nov 2017 13:39
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Ništa ne reći, nego učiti sa pažnjom i rezumevanjem.
|
|
|
|
Poslao: 19 Nov 2017 13:43
|
offline
- minickg
- Novi MyCity građanin
- Pridružio: 16 Jan 2010
- Poruke: 23
|
Nemoj me kritikovati, tek mi je 20ak dana u JS-u )) Bitno je da ne odustanem... ))
|
|
|
|
Poslao: 19 Nov 2017 13:49
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14824
- Gde živiš: Niš
|
Kritikujem možda, ali je dobronamerno svakako, nadam se da shvataš to.
Mi ćemo naravno uvek da pružimo odgovore ukoliko ih znamo (ili mi, ili neko drugi negde drugde), to nije problem. Ali je suština da su na sve probleme na koje ti kao početnik nailaziš sada oni koji su počinjali pre tebe takođe nailazili, i svi ti problemi su iznova i iznova pojašnjavani u malom milionu tema po raznim forumima. Dakle, u velikom broju slučajeva uz malo više truda nego obično možeš da dođeš do onoga što ti treba, a ako se uhodaš u tome to može da ti bude vrlo korisno kada se nekada budeš bavio realnim problemima.
|
|
|
|
Poslao: 19 Nov 2017 14:02
|
offline
- minickg
- Novi MyCity građanin
- Pridružio: 16 Jan 2010
- Poruke: 23
|
Shvatam )) Trudim se da pre nego sto postavim pitanje izguglam, probam sam, onda se mnogo iznerviram i postavim pitanje ovde jer mi uvek objasnite tako da ukapiram iz prve ))
|
|
|
|