waarom werkt dit script niet?

Status
Niet open voor verdere reacties.

jerrytieben

Gebruiker
Lid geworden
10 aug 2009
Berichten
5
Ik heb een klein script geschreven voor het "resizen" van een divje.
Dit werkt netjes, maar geeft geen animatie. De div is in een klap geopend... terwijl ik wil dat dit langzaam gaat...
weet iemand hoe dat werkt?

[JS]<script type="text/javascript" language="javascript">
<!--
function openScreen(divNaam, height, i) {


if(i!=height){

var div = document.getElementById(divNaam);
div.style.height = i + "px";
i++;
setTimeout(openScreen(divNaam, height,i), 1000);

}
else{
stop;
};

};


// -->
</script>[/JS]
 
Laatst bewerkt:
dat komt omdat setTimeout() helemaal niet een functie accepteerd als 1e parameter, maar een string.
[JS]setTimeout("code", tijd);[/JS]

Je moet je 'functie' die je erin zet dus string-ificeren. Want nu roep je m dus recursief steeds aan, ofwel, in 1x open.

Probeer dit:
[JS] function openScreen(divNaam, height, i) {


if(i!=height){

var div = document.getElementById(divNaam);
div.style.height = i + "px";
i++;
setTimeout("openScreen('" + divNaam + "'," + height + "," + i + ")", 100);

}
}[/JS](noot de extra quotes die nodig zijn bij divNaam in je gestringificeerde setTimeout!)
 
of probeer: setTimeout(function(){openScreen(divNaam, height,i)}, 1000);
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan