hm, funktion sollte aufgerufen werden und die variable ausserhalb der funktion deklariert, und dann gehts, probiers einfach mal aus ![Wink](/images/smilies/wink.gif)
Beim Aufruf muss dem JS das Element bekannt sein mit der ID daher bietet sich onload an.
Variante 1 die gehen sollte:
HTML-Code:
<div id='countdown_1'></div>
<script language='javascript'>
var countdown_1 = 234;
function doCount_1()
{
var returnvar = '';
if (countdown_1 > 0) {
countdown_1--
var s = countdown_1;
var d = Math.floor(s/(24*3600));
var h = Math.floor((s - (d * 24*3600))/3600);
var m = Math.floor((s - (d * 24*3600) - (h * 3600))/60);
var sek = Math.floor(s - (d * 24*3600) - (h * 3600) - (m * 60));
if(d != 0) {
returnvar = returnvar+d+'d ';
}
if(h != 0) {
returnvar = returnvar+h+'h ';
}
if(m != 0) {
returnvar = returnvar+m+'min ';
}
if(sek != 0) {
returnvar = returnvar+sek+'s ';
}
}
else {
returnvar = 'Fertig';
}
document.getElementById('countdown_1').innerHTML = returnvar;
window.setTimeout('doCount_1()',1000)
}
window.setTimeout('doCount_1()',1000);
</script>
Var2 die auch geht, aber eben immer den selben wert anzeigt:
HTML-Code:
<div id='countdown_1'></div>
<script language='javascript'>
function doCount_1()
{
var countdown_1 = 234;
var returnvar = '';
if (countdown_1 > 0) {
countdown_1--
var s = countdown_1;
var d = Math.floor(s/(24*3600));
var h = Math.floor((s - (d * 24*3600))/3600);
var m = Math.floor((s - (d * 24*3600) - (h * 3600))/60);
var sek = Math.floor(s - (d * 24*3600) - (h * 3600) - (m * 60));
if(d != 0) {
returnvar = returnvar+d+'d ';
}
if(h != 0) {
returnvar = returnvar+h+'h ';
}
if(m != 0) {
returnvar = returnvar+m+'min ';
}
if(sek != 0) {
returnvar = returnvar+sek+'s ';
}
}
else {
returnvar = 'Fertig';
}
document.getElementById('countdown_1').innerHTML = returnvar;
window.setTimeout('doCount_1()',1000)
}
window.setTimeout('doCount_1()',1000);
</script>