mangejMedlem sedan apr. 200224 inlägg 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
Jesper TMedlem sedan nov. 20017 058 inlägg 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 );
Nexus86Medlem sedan okt. 20022 683 inlägg 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.
dectgapMedlem sedan sep. 20021 542 inlägg 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 (\").
dectgapMedlem sedan sep. 20021 542 inlägg 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.
mangejMedlem sedan apr. 200224 inlägg 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