Ok. Aber net bös sein ...
<script type="text/javascript">
var Schlagdauer = 4000 // Wave-Datei-Abspiellänge + 1 Sekunde
var schlaege=0,played=false;
function init() { // Diese Funktion im Body (mit-)aufrufen
var j=new Date();
var m=j.getMinutes();
var s=j.getSeconds();
m=60-m;
s=60-s;
m=Number(m*60)+s; // Das Number() objekt benutz ich, weils
// bei mir n Fehler gab
j=j.getHours(); // Nicht mehr gebrauchtes Date-Obj wird mit
// Stundenwert überschrieben.
if(m==1)
{
if(j>=13)
schlaege=j-11; // j-12+1 = j-11; Logisch, oder? Für 12h anstatt 24h
else
schlaege=j+1; // Da es ja erst z. B. 9:95:59 ist und nicht 10:00
if(played!=true)
setTimeout("glockenschlag()",100) // 1/10 Sekunde Zeit abwarten
}
setTimeout("init()",500) // Jede halbe Sekunde prüfen.
}
function glockenschlag() {
schlaege--;
document.all.glockenschlag.play(); // geht auch getElementById()
// document.getElementById("glockenschlag").play();
if(schlaege!=0)
{
played=true;
setTimeout("glockenschlag()",Schlagdauer)
}
else
played=false
}
</script>
Dieses Script schlägt automatisch zu jeder Stunde. Nun eine Version, die Beim darauf klicken die aktuelle Stunde schlägt:
<script type="text/javascript">
var j="";
var aktuellerschlag="aus";
var schlagdauer = 4000 // wie oben das script ...
function aktuellestunde() {
if(aktuellerschlag=="aus") // Verhindert mehrmaliges Bimmeln bei Floodklicken.
{
j=new Date();
j=j.getHours();
schlagen();
}
}
function schlagen() {
if(j!=-1)
{
j--;
document.getElementById("glockenschlag").play()
aktuellerschlag=setTimeout("schlagen()",schlagdauer);
}
else
{
aktuellerschlag="aus"
}
}
</script>
Ich hoffe doch, dass dir die Scripts gut gefallen.
Berichtigungen am Code ... Nur keine Hemmungen.
MFG
Griever