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

Kapcsolódó bejegyzések:
  • Néha jól jöhet, ha tudjuk, hogy egy-egy függvényünket milyen környezetből (milyen függvényből, mely osztály mely metódusából, melyik fájlból stb.) hívták meg. Eb …

  • Ez a segédlet arra hivatott, hogy megismertesse, hogy tudsz olyan Flash animációt létrehozni, ami több ugyanolyan MovieClipből áll és mindegyik ugyanolyan tulajd …

  • A következőkben azt szeretném bemutatni, hogy a dátumoknál hogyan is írathajuk ki azt, hogy ha a blog bejegyzést például ma írtam, akkor azt írja, hogy “Ma, 18:1 …

  • Számos szempont alapján ellenőrizhetjük a felhasználók által megadott email cím valóságát, a legegyszerűbb módszerektől a legnehezebbekig. Én most a kettő között …

  • Az előző bejegyzésben már volt arról szó, hogy miért is előnyös 1-1 funkciót plugin nélkül megoldani (nincs frissítés, gyorsabb honlap, nem terheli a rendszert). …

A cikket beküldte: Dody (http://www.dody.hu)

2 hozzászólás

  1. Csabi says:

    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. Dody says:

    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 );

Szólj hozzá
a Kezdőknek – A setInterval függvény használata c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>