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
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.
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!
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