---
title: "Försöker göra ett evighetsscript men problem har uppstått"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/159224-försöker-göra-ett-evighetsscript-men-problem-har-uppstått"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "vic"
published: "2007-04-14T16:22:25.000Z"
updated: "2007-04-15T22:30:25.000Z"
replies: 2
views: 426
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/159224-försöker-göra-ett-evighetsscript-men-problem-har-uppstått"
---

# Försöker göra ett evighetsscript men problem har uppstått

## #1 — vic, 2007-04-14T16:22Z

Följande funktion ska sätta igång en funktion med ett visst antal sekunders mellanrum. Den utför dock bara funktionen en gång sen stannar den? Hur ska man göra egentligen?

```
function Timer(TimeLeft, Again, Action)
	{
	var countdown = TimeLeft;
	
	function Blinker()
		{
		countdown--;
		
		if(countdown == 0) 
			{
			Action;
			setTimeout("Timer('"+Again+"', '"+Again+"', '"+Action+"')",1000);
			 }
			 else
				{
			 	setTimeout("Timer('" +countdown+ "', '" +Again+ "', '"+Action+"')",1000);
				}
		}
	
	Blinker();
	}

window.onload = function()
 {
 function Funk()
	{
	d.getElementById('menu').innerHTML = Date();	
	}
				
 Timer(3, 3, Funk());
}
```

Permalänk: https://www.webforum.nu/p/159224

## #2 — nitro2k01, 2007-04-15T00:16Z

Det här är min idé på en någorlunda snygg countdown-klass. (Din kod känns bara rlrig, no offence) Eftersom den är en klass, ska du använda new för att skapa ett objekt. Funktionen har en fjärde frivillig parameter, som anger om funktionen som skickas med ska köras en första gång. (Ange true, false eller utelämna för auto-false)
Och jag får säga till på skarpen, när du använder denna kod, försök låta bli att reidgera min funktion. Behåll den som den är, och ändra parametrarna. (Eller fråga mig)

```
<script type="text/javascript">
d=document;

function CountdownManager(period, times, action, tickNow){
	var action = action, period = period, times = times;

	function tick(){
		if(!--times)
			clearInterval(intId);
		
		action();
	}

	if ("undefined"!=typeof tickNow && tickNow)
		tick();

	if (times)
		var intId = setInterval(tick, period);
}

window.onload = function(){
	function Funk(){
		d.getElementById('menu').innerHTML = Date();
	}

	new CountdownManager(1000, 3, Funk);
}

</script>

<div id="menu">
(Start)
</div>
```

Permalänk: https://www.webforum.nu/p/1958977

## #3 — vic, 2007-04-15T22:30Z

Ser bra ut! tackar så mycket.

Permalänk: https://www.webforum.nu/p/1959188

---

Tråden på webben: https://www.webforum.nu/amne/javascript/159224-försöker-göra-ett-evighetsscript-men-problem-har-uppstått
