HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Script számláló Weblapon


Példaprogram letöltése

4745 bájt

A szerver-, és kliensoldali objektumok segítségével igen egyszerűen tudjuk megjeleníteni a pontos időt, ahol a számlálás alapvetően előre történik. Szükség lehet azonban arra is, hogy bizonyos értéktől visszafelé is tudjunk számolni. Ennek megvalósítása kicsit összetettebb. Még inkább az, ha arra gondolunk, hogy mindezt kliens-oldalon, a szerver-oldali objektumokat nélkülözve kell megoldani, hiszen mindig újratölteni egy oldalt igen költséges megoldás. Cikkünkben elkészítünk egy lehetséges megoldást erre a problémára. A számlálás perc alapon történik.

A mellékelt Counter.htm lap betöltése után egy címke látható a lapon, melyen megjelenik az aktuális percérték. A művelet az INDÍTÁS gombbal indítható el. A HTML lap kódjában vehetjük szemügyre a számlálást végző JavaScript kódot.
A kód doCounterDown és doSetInterval függvényei végzik el a tulajdonképpeni számítást. Létre kell hoznunk néhány változót a script-blokkban. Először egyet az intervallumot beállító függvény visszatérési értékének, melyre szükségünk lesz az időzítő leállításához:
var interval = 0;
Egyet-egyet pedig a percek és másodpercek tárolására:
var minutes = 20;
var seconds = 59;
A számlálást az egyszerűség kedvéért egy fix számértékről indítjuk, mely most 20 perc. A doSetInterval függvénnyel paraméterezhető az időzítő metódus, melynek neve setInterval:
function doSetInterval()
{
  interval = window.setInterval("doCountDown()",1000);
}
Látható, hogy a setInterval függvény a window objektum tagfüggvénye. Első paraméterében kell megadni az elvégzendő műveletet karakterlánc formájában – ahogy példánkban is egy függvénynevet - második paraméterében pedig a végrehajtási sűrűséget ezredmásodpercekben.
A doCountDown függvény először mindig kiolvassa az előző periódusban a változókba mentett információkat:
function doCountDown()
{
  var time = "";
  var s = seconds;
  var m = minutes;
Majd miután kiértékelte azokat, és megfelelő módon csökkentette a két összetevőt, összeállítja egy karakterlánc formájában a megjelenítendő értéket, és eltárolja a time változóban. A műveletek végén a Label kontrol innerText property-jének értékül adja ezt az értéket:
document.all["counter"].innerText = time;
A megváltozott értékeket elmenti a script-szintű globális változókba:
second = s;
minutes = m;
Ha a számláló eléri a nullát, akkor megszünteti az időzítőt az interval nevű változó értékének felhasználásával:
window.clearInterval(interval);
A számláló indítását a nyomógomb onclick eseménykezelőjében végezzük el:
<INPUT id="Button1" style="Z-INDEX: 103; LEFT: 282px; WIDTH: 87px; POSITION: absolute; TOP: 87px; HEIGHT: 24px" type="button" value="Indítás" name="Button1" onclick="doSetInterval()">

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 731. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |