Kezdőknek – A setInterval függvény használata

Sokszor felmerül az igény a késleltetésre egy banner elkészítése során. Ezt egyszerűen meg tudjuk oldani egy setInterval és egy clearInterval függvény használatával. Roppant egyszerű függvények mégis nagyon hasznosak!

Lássuk hát, hogy is működik:

Használata:

1
setInterval(functionName, interval [, param1, param2, ..., paramN])

Paraméterei:

functionName A meghívandó függvény neve, vagy akár itt is deklarálhatjuk a függvényt.
interval A függvény meghívásának az ideje milisecundumban.
param1, param2, …, paramN Opcionális paramétereke melyeket a függvényünk kap meg.

Példák:
Példa 1:
Egy névtelen függvény meghívása 1000 milisecundumonként.

1
setInterval( function(){ trace("interval hívás "); }, 1000 );

Példa 2:
Két függvényt hívunk meg az első egy sima meghívás a második paraméterátadással, történik ugyanez. Az “interval hívás” az Output panelen minden 1000-dik milisececundumonkén megjelenik.

1
2
3
4
5
6
7
8
9
10
function callback1() {
  trace("interval hívás”) 
}
 
function callback2(arg) { 
  trace(arg);
}
 
setInterval( callback1, 1000 ); 
setInterval( callback2, 1000, "interval hívás" );

Példa 3:
Ha csak késleltetésre akarjuk használni a setInterval függvényünket akkor változóba definiáljuk majd a meghívott függvény belsejébe elhelyezzük a clearInterval( változó név ) függvényt. Ezzel megszüntetjük a további futtatását. Egy if szerkezettel és egy számlálóval ezt lehet korlátozni bármekkora lefutásra.

1
2
3
4
5
6
function callback1() { 
  trace("interval hívás”);
clearInterval(intervalID)
}
 
intervalID=setInterval( callback1, 1000 );

Természetesen a clearInterval bárhol elhelyezhető.

Forrás: Dodder.hu

2 HOZZÁSZÓLÁS

  1. Sziasztok!
    Sajnos ezt a Interval-t nem nagyon értem, ezért megkérhetek valakit arra hogy ennek segítségével írjon nekem valak egy visszaszálmlálót? Nem találtam a gugliban csak olyat ami dátum alapján számol vissza! Olyanra gondoltam, hogy van egy id-m, aminek a tartalma egy szám (pl.:100), és azt csökkentse másodpercenként 1-el! Ha eléri a 0-át, akkor törlődjön, ne menjen minusba!
    Ha megtudnátok nekem írni, azt nagyon megköszönném!

  2. Csabi:

    Hello,
    Mit nem értesz?

    Ha ajánlhatok valamit akkor: Ne mások anyagai leöltésével tölsd az idődet, hanem tanulással. Sokkal hasznosabb, izgalmasabb az amikor új alkalmazást hozol létre a semmiből, mintsem mások alkalmazásait letölteni, visszafejteni, átírni és a saját neved alatt újra publikálni.

    A setInterval AS2-ben elég fontos szerepet tölt be. Bár sokan az EnterFrame-t használják inkább. AS3-ban már nincsen setInterval mert leváltotta a Timer.

    Amit szerettél volna az kb így néz ki (bár ha nem érted akkos nem sok hasznod lesz belőle):
    var szam=100 //az induló paraméterünk
    function callback1() {
    szam-=1 //csökknetjük az értéket eggyel
    trace("Jelen értékünk: "+szam);
    if (szam==0){ //ha a számunk 0 akkor
    clearInterval(intervalID) // töröljük az időzített meghívást
    }
    }

    intervalID=setInterval( callback1, 1000 );

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét