# Js-Eieruhr



## Speedy19102000 (10. März 2007)

Hallo!

Ich suche schon überall nach einer Eieruhr (kein php),
wo man die Minuten sowie Sekunden voreinstellen kann
die dann nach betätigen der Starttaste diese Zeit dann
herrunterzählt und wenn die Zeit dann abgelaufen ist,
dann eine Mididatei abspielt und diese dann mit einem
Button stopt!

Hat Jemand so ein Script oder kennt irgendeiner eine
Seite, bitte um Hilfe! 

MfG Speedy


----------



## tobee (10. März 2007)

Einfach mal nach  *"countdown javascript"* n


----------



## Speedy19102000 (10. März 2007)

tobee hat gesagt.:


> Einfach mal nach  *"countdown javascript"* n



Moin!

Hab ich schon alles gemacht! Countdown`s gibt es wie Sand am Meer aber halt nicht
ein solches, wie ich es haben möchte. Und so gut bin ich in Js nicht, das ich ein Script
auf meine Bedürfnisse umändern könnte. Darum wende ich mich ja auch an Euch und
hoffe auf Eure Unterstützung!  

MfG Speedy


----------



## tobee (10. März 2007)

So könnte ein Countdown aussehen:

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title></title>

<script type="text/javascript">
var current_minute;
var current_second;
function com_countdown ( )
{

    if ( current_minute || current_second )    {
        current_second--;
        if ( current_second < 0 )    {
            current_minute--;
            current_second = 59;
        }
        if ( current_minute < 0 )    {
            alert('ALARM');
        }
    }
    else    {
        current_minute = document.form_countdown.minute.value;
        current_second = document.form_countdown.second.value;
    }
    
    document.getElementById('output').innerHTML = current_minute + ':' + current_second
    window.setTimeout ( "com_countdown()" , 1000 );

}
</script>

</head>

<body>

<form name="form_countdown" method="post">
<input type="text" name="minute" value="1" />&nbsp;<input type="text" name="second" value="0" />&nbsp;<input type="button" value="Aktualisieren" onClick="com_countdown();"  /><br>
</form>
<div id="output"></div>

</body>
</html>
```


----------



## Speedy19102000 (10. März 2007)

Das Script ist garnicht schlecht, allerdings wenn die angegebene Zeit abgelaufen ist
und dann das "alert" kommt, man darauf auf "OK" klickt dieser dann sekündlich im
negativen Zahlenwert ein Alert ausgibt! Kann man das ändern?

MfG Speedy


----------



## tobee (10. März 2007)

Ja hatte noch nicht alles eingebaut. Das war ein Skript: "auf-die-schelle".

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title></title>

<script type="text/javascript">
var current_minute;
var current_second;
function com_countdown ( )
{

    if ( current_minute || current_second )    {
        current_second--;
        if ( current_second < 0 )    {
            current_minute--;
            current_second = 59;
        }
        if ( current_minute < 0 && current_second < 0 )    {
            alert('ALARM');
        }
    }
    else    {
        current_minute = document.form_countdown.minute.value;
        current_second = document.form_countdown.second.value;
    }
    
    document.getElementById('output').innerHTML = current_minute + ':' + current_second
    window.setTimeout ( "com_countdown()" , 1000 );

}
</script>

</head>

<body>

<form name="form_countdown" method="post">
<input type="text" name="minute" value="1" />&nbsp;<input type="text" name="second" value="0" />&nbsp;<input type="button" value="Aktualisieren" onClick="com_countdown();"  /><br>
</form>
<div id="output"></div>

</body>
</html>
```


----------



## Speedy19102000 (10. März 2007)

```
if ( current_minute < 0 && current_second < 0 )    {
```

Das hattest Du geändert, aber nun gibt er nicht mehr das Alert aus.
Oder habe ich da was übersehen?


----------



## con-f-use (10. März 2007)

Vielleicht hilft dir meine Seite zu tutorials.de weiter: http://christoph.ist-stylish.de/tut/

In der Sektion "Zeit" findest du jede Menge funktionierende Beispiele für Countdowns. Der "Multicountdown mit Target" müsste deinen Ansprüchen genügen, sofern du es dir zutraust die Funktion zum Aufrufen selbst zu schreiben. (Wenn nicht werde ich dir natürlich helfen, versuch's aber bitte erst selbst.)


----------



## Speedy19102000 (10. März 2007)

con-f-use hat gesagt.:


> Vielleicht hilft dir das Weiter: http://christoph.ist-stylish.de/tut/
> 
> In der Sektion "Zeit" findest du jede Menge funktionierende Beispiele für Countdowns.



Ich werde es mir anschauen. Muss aber erst gleich zur Arbeit  

Bis dahin, vielen Dank nochmal!

Speedy


----------



## Speedy19102000 (11. März 2007)

Ich habe in der Zwischenzeit ein geeignetes Script gefunden
und um einiges erweitert/geändert. Allerdings möchte ich, dass auch die Minuten
im laufenden Countdown eine führende "0" bekommen. Ich habe schon einiges
ausprobiert, aber es leider nicht hinbekommen.

Hier nun mein Script:

```
<html>
<head>
<title>Test</title>

<script type="text/javascript">
function uhr()
{
min=document.getElementById("minute").value;
sek=document.getElementById("sekunde").value;
if (sek=="" && min=="") sek=1;
document.getElementById("zeit").value=min+":"+sek;
timer=setTimeout("go()", 1000);
}
function go()
{
sek-=1;
if (sek==-1) {
	sek=59;
	min--;
	}
if (sek<10)
	sek="0"+sek;
if (min=="" && min==0)
	min="0";
document.getElementById("zeit").value=min+":"+sek;
if (sek<=0 && min <=0) {
	clearTimeout(timer);klingel();
	}
else timer=setTimeout("go()", 1000);
}
function klingel() {
soundOn();
}
function abbruch()
{
clearTimeout(timer);
document.getElementById("minute").value="";
document.getElementById("sekunde").value="";
document.getElementById("zeit").value="";
}
function soundOn(){
if (document.layers) {document.midi.document.write("<embed src='dial.wav' autostart='true' hidden='true'>"); document.midi.document.close()}
if (document.all) midi.innerHTML="<embed src='dial.wav' autostart='true' loop='1' hidden='true'>"
}
function soundOff(){
if (document.layers) {document.midi.document.write(" "); document.midi.document.close()}
if (document.all) midi.innerHTML=" "
}
</script>

</head>

<body>

<div id="midi" style="position:absolute; visibility:hide; left:10px; top:10px; z-index:0"></div> <table cellspacing="0" cellpadding="0" width="100%"> <tr> <td>

Hier die abzulaufende Zeit eingeben<br> <input id="minute" style="width:50px"> Min <input id="sekunde" style="width:50px"> Sek
<br><br> <input type="button" value="Start" onclick="uhr()"> <input type="button" value="Abbruch" onclick="abbruch()"> <input type="button" value="Alarm aus" onclick="soundOff()"> <br><br>
Verbleibende Zeit: <input readonly="readonly" id="zeit" style="width:70px;font-weight:bold"> </td> </tr> </table> <p> <input type="button" value="Alarm Test" onclick="soundOn()">

</body>

</html>
```

Ich finde, es ist wirklich gut geworden, allerdings weiß ich nicht, ob dieses
Script auch "Sauber" ist, falls nicht, kannst Du alles unnötige entfernen,
ohne die eigentlichen "Funktionen" zu löschen!

MfG Speedy


----------

