---
title: "setTimeOut"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/56879-settimeout"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "mangej"
published: "2002-10-23T15:13:32.000Z"
updated: "2002-10-24T12:31:21.000Z"
replies: 6
views: 291
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/56879-settimeout"
---

# setTimeOut

## #1 — mangej, 2002-10-23T15:13Z

Hej, jag har försökt få rätt på en rad nu väldigt länge, men kan inte hitta felet.
koden i en funktion är följande:

for (i=0;i\<9;i++)
{
setTimeOut('document.MyForm.knapp2.style.background="#' + i + '00000";',i\*40 );
}

felet uppstår mellan # och 00000 men vet inte hur jag ska få rätt på det.
Är tacksam för svar/Magnus

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

## #2 — Jesper T, 2002-10-23T15:31Z

Tror att du inte skall ha dubbelfnuttar med.
Kanske något liknande(har igentligen ingen aning)
setTimeOut(document.MyForm.knapp2.style.background='#' + i + '00000';,i\*40 );

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

## #3 — Nexus86, 2002-10-23T15:39Z

Re: setTimeOut

> **mangej skrev:**
>
> Hej, jag har försökt få rätt på en rad nu väldigt länge, men kan inte hitta felet.
> koden i en funktion är följande:
> 
> for (i=0;i\<9;i++)
> {
> setTimeOut('document.MyForm.knapp2.style.background="#' + i + '00000";',i\*40 );
> }
> 
> felet uppstår mellan # och 00000 men vet inte hur jag ska få rätt på det.
> Är tacksam för svar/Magnus

Eftersom du skriver 

```
"#' + i + '00000";',i*40 );
```

kommer scriptet tro att du vill byta bakgrundsfärg till

```
#' + i + '00000
```

Vilket inte stämmer så du kan inte ha dubbelfnuttar nej.

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

## #4 — Jesper T, 2002-10-23T15:52Z

> Vilket inte stämmer så du kan inte ha dubbelfnuttar nej.

 
Utan....

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

## #5 — dectgap, 2002-10-23T15:58Z

setTimeout ska det väl ändå vara (och inte setTimeOut ), men det spelar kanske ingen roll.

Sedan ska du inte skriva background, utan backgroundColor.

Det här med setTimeout har du egentligen helt rätt med. Det som ska köras efter den utsatta tiden ska skrivas som en sträng, så jag ser inget konstigt med det du har skrivit. Det enda jag kan tänka mig är att javascript inte tycker om när du har dubbelfnuttar inom enkelfnuttar, men de kan du i så fall escape:a (\\").

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

## #6 — dectgap, 2002-10-23T16:18Z

Detta kan kanske vara till hjälp:

```
<html>
<head>
<script>
function changeBg(i){
 if (i<9){ 
  document.getElementById("knapp").style.backgroundColor='#'+i+'00000';
  i++;
  setTimeout('changeBg('+i+')',50);
 }
} 
</script>
</head>

<body onload="changeBg(0)">

<div id='knapp'>Detta är en knapp</div>

</body>
</html>
```

Om du vill få det att funka med fler färger är det inte alls omöjligt, men det kräver att du omvandlar ifrån decimala till hexadecimala tal.

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

## #7 — mangej, 2002-10-24T12:31Z

Tack för svaren, en del stämmer, en del inte..
det där med fnuttarna löste inte så mycket, fick bara andra felmeddelanden.
Det sista inlägget av dectgap fick jag dock till att fungera.
Angående stavfelet på timeout, var det för att jag inte hade filen tillgänglig. Men background fungerar lika bra som backgroundColor.
Att få det att fungera med fler färger har jag löst med en fargvektor *där i=0-\>f.
Var mer själva setTimeout som jag inte löste men det verkar funka nu.
/Magnus*

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/56879-settimeout
