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:

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.

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.

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.

function callback1() { 
  trace("interval hívás”);
clearInterval(intervalID)
}

intervalID=setInterval( callback1, 1000 );

Természetesen a clearInterval bárhol elhelyezhető. Forrás: Dodder.hu

Harder

Harder

Profil

Korábbi hozzászólások (2)

A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.

  1. Csabi

    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. Dodywww.dody.hu

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

Van hozzáfűznivalód? Írj nekem közvetlenül.

Kapcsolat