ugrás a tartalomhoz

JS visszaszámláló

NosnOsnoS · 2011. Júl. 10. (V), 16.14
Halló az lenne a kérdésem , hogy milyen JS Kóddal lehet ezt megvalósítani:
(1.variáció)
Amit beírtam szöveget másodpercenként változtatja de nem ismétli.
(2.variáció azért,hogy ne keljen még egyszer nekifutni)
Amit beírtam szöveget másodpercenként változtatja és ismétli.
 
1

Mit irsz be, hova? Mire

Ajnasz · 2011. Júl. 10. (V), 16.21
Mit irsz be, hova? Mire valtoztassa?

Megprobalnad problemat leirni, amit meg szeretnel oldani, vagy hagyjuk az egeszet? (Lehet hosszan is es erthetoen. Esetleg at is olvashatod azt, amit leirtal, mielott bekuldod, hogy lasd ertelmes-e.)
2

tehát!

NosnOsnoS · 2011. Júl. 10. (V), 16.50
Én beírom a kódba hogy másodpercenként változtassa pl számokat 1 2 3 4 5 6 7 8 9
És 2 fajta kéne.az egyik megáll az 1nél a másik nem áll meg az egynél hanem ismétli önmagát: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 .....
3

Latod, megy ez. :)Tegyuk

Ajnasz · 2011. Júl. 10. (V), 17.09
Latod, megy ez. :)

Tegyuk fel, hogy nem csak szamokkal fogsz dolgozni, hanem mondjuk szavakat akarsz valtogatni.

Ebben az esetben egy megoldas lehet, hogyha beteszed a szavakat egy tombbe es lenne egy fuggveny, ami a kiirast vegzi.

Lenne egy mutato, ami tarolna, hogy hanyadik szot kell kiirni.

A fuggveny vegen csak azt kell csinalnod, hogy ha meg nem erted el a tomb utolso elemet, akkor noveled eggyel a mutato erteket es setTimeouttal beallitod, hogy hivja meg ugyanezt a fuggvenyt egy masodperc mulva.
Ha mar vegigertel a tombon, akkor vagy lenullazod a mutatot, hogy ujrakezdje a sort, vagy csak siman nem hivod meg a setTimeoutot es akkor nem fog tovabb valtozni a kiirt cucc.

Ha csak szamok lennenek, akkor nem lenne szukseg tombre, csupan a mutato erteket kell kiirni es valtoztatni.
4

Itt

NosnOsnoS · 2011. Júl. 10. (V), 18.00
Itt a számosnak a verziója:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Visszaszámlálás</title>
</head>

<body>
<form name="szamlaloform">
<input type="text" name="szamlalo">
</form>

<script language="javascript">
<!--
	var ertek=15;
	var jelenlegiMP=document.szamlaloform.szamlalo.value=ertek+1;

	function visszaszamolas()
	{
		if (jelenlegiMP==0)
		{
			document.szamlaloform.szamlalo.value='Kész van';
		}
		if (jelenlegiMP!=0)
		{
			jelenlegiMP-=0.01;
			poz=(jelenlegiMP+"").indexOf(".");
			if (poz==-1)
			{
				jelenlegiMP=jelenlegiMP+".00";
			}
			else
			{
				jelenlegiMP=(jelenlegiMP+"").substr(0,poz+3);
			}
			document.szamlaloform.szamlalo.value=jelenlegiMP;
		}
		setTimeout("visszaszamolas()",10);
	}
	visszaszamolas();
//-->
</script>
</center>
</body>

</html>
5

Annyit megjegyeznek, hogy a

Ajnasz · 2011. Júl. 10. (V), 20.14
Annyit megjegyeznek, hogy a setTimeout 10 az nem feltetlen jelenti azt, hogy pontosan 10 millisec lesz az ido, ami eltelik. Inkabb hasznald a Date objektumot, hogy kiszamold, hogy az inditas ota mennyi ido telt el.

Tovabba, keruld a globalis valtozok letrehozasat, mindig hasznald a vart valtozok deklaralasakor.

Az elozo hozzaszolasomra peldak: https://gist.github.com/1074795