Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

problem sa setTimeout(), pocetnik u javascript-u

[es] :: Javascript i AJAX :: problem sa setTimeout(), pocetnik u javascript-u

[ Pregleda: 1885 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragan_bg_88
Dragan Slaveski
Beograd

Član broj: 68739
Poruke: 288
*.dynamic.sbb.rs.



Profil

icon problem sa setTimeout(), pocetnik u javascript-u15.01.2010. u 00:14 - pre 172 meseci
Pozdrav ljudi,
pocetnik sam u javascript-u ali ne i u programiranju. imam problem sa setTimeout, pozovem funkciju pri pokretanju stranice u njoj nesto odradim i opet pozovem setTimeout i tako treba stalno da se vrti u krug ta ista funkcija... Kod je mnogo slozeniji ali kad sam video da ni ovo ne radi poludeo sam... skinuo sam neki sat koji radi na istom principu, a princip je da iz same funkcije pozivamo setTimeout, prosto i jednostavno...

Code:

var i = 1;
function changeImage(i) {
    if (i == 1) {
        i = 2;
    }
    else
    if (i == 2) {
        i = 3;
    }
    else
    if (i == 3) {
        i = 1;
    }
    document.getElementById("actTime").innerHTML = i;
    setTimeout("changeImage(i)", 3000);
}
setTimeout("changeImage(i)", 3000);


ovo bi trebalo da u nekom <div> ispisuje ove brojeve, to sam za probu uzeo da se uverim da ne radi kao sto ni ne radi... ispise broj 2, sto znaci da udje jednom u changeImage i tu stane... zasto? ima li neko objasnjenje...
inace hitno je pa bi mi znacio neki brz odgovor...

Unapred hvala...
 
Odgovor na temu

programer.master
krstarica
bg

Član broj: 235042
Poruke: 25
*.com
Via: [es] mailing liste



Profil

icon Re: problem sa setTimeout(), pocetnik u javascript-u15.01.2010. u 15:17 - pre 172 meseci
Nemozes tako da prosledjujes i..uvek je dva tj izvrsava se ova
funkcija na 3sec al nije dobro prosledjivanje argumenta..
izbaci iz changeImage(i) ovo i-malo
i u samoj funkciji napisi i++; tj iza ove linije
setTimeout("changeImage(i)", 3000);

pozz




2010/1/15 dragan_bg_88 :
> Pozdrav ljudi, pocetnik sam u javascript-u ali ne i u programiranju. imam
> problem sa setTimeout, pozovem funkciju pri pokretanju stranice u njoj nesto
> odradim i opet pozovem setTimeout i tako treba stalno da se vrti u krug ta
> ista funkcija... Kod je mnogo slozeniji ali kad sam video da ni ovo ne radi
> poludeo sam... skinuo sam neki sat koji radi na istom principu, a princip je
> da iz same funkcije pozivamo setTimeout, prosto i jednostavno...
>
>
>
> ovo bi trebalo da u nekom ispisuje ove brojeve, to sam za probu uzeo
> da se uverim da ne radi kao sto ni ne radi... ispise broj 2, sto znaci da
> udje jednom u changeImage i tu stane... zasto? ima li neko objasnjenje...
> inace hitno je pa bi mi znacio neki brz odgovor...
>
> Unapred hvala...
>
> --
> http://www.elitesecurity.org/p2493233
>
> Prijave/odjave: http://www.elitesecurity.org/liste
>
> Deaktivirajte rich-text formatiranje u svom mail klijentu ili webmailu kada
> odgovarate na poruku. Ne menjajte sledece dve linije ukoliko odgovarate
> putem emaila!
> esauth:388004:1fe20d2695dfe7742feb323e0c18b7e1
>
 
Odgovor na temu

357_97

Član broj: 53056
Poruke: 104
*.dynamic.sbb.rs.



+5 Profil

icon Re: problem sa setTimeout(), pocetnik u javascript-u17.01.2010. u 18:46 - pre 172 meseci
Da se nadovezem na prethodni odgovor, moze to i krace
Code:
var i = 1;

function changeImage() {
    document.getElementById("content").innerHTML = i;
    i = (i != 3) ? ++i : 1;
    setTimeout("changeImage()", 3000);
}

changeImage();

Posto si pocetnik obrati paznju na to da je promenljiva 'i' globalna promenljiva!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: problem sa setTimeout(), pocetnik u javascript-u18.01.2010. u 18:44 - pre 172 meseci
nacin koji ja preporucujem (jer eval iz evil*):
Code:

function changeImage(i) {
    i = i > 3 ? 1 : (i < 1 ? 3 : i);

    document.getElementById("content").innerHTML = i;

    setTimeout(function() {
        changeImage(i + 1);
    }, 3000);
}

changeImage(1);



* a setTimeout("...", 3000); koristi eval da izvrsi izraz u navodnicima
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
109.93.212.*



+218 Profil

icon Re: problem sa setTimeout(), pocetnik u javascript-u21.01.2010. u 17:52 - pre 172 meseci
Problem ti je sto javascript nece u stringu prepoznati promenljivu kao php.

setTimeout("changeImage(i)", 3000); // kako da zna da je ovo i promenljiva?

setTimeout("changeImage("+i+)", 3000);
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

[es] :: Javascript i AJAX :: problem sa setTimeout(), pocetnik u javascript-u

[ Pregleda: 1885 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.