Was ist denn da falsch :( :( :(
trueTom
- javascript
Hi ich bekomme bei diesem Script immer eine Fehermeldung :(.
Nur leider sehe ich keinen Fehler :(.
kann javascript keine verschachtelten If anweisungen?`
alla
IF ()
{ IF ()
{}
ifelse ()
{}
else ()
{}
}
Das Scrpt soll in einem Textfeld ausgeben ob zur aktuellen Zeit der Laden offen ist oder nicht...
Vielen Dank!!!
Ladenöffnung zwischen Montag - Freitag
7:00 - 9:15 Uhr
11:15 - 13:30 Uhr
14:30 - 15:00 Uhr
<html>
<head>
<title>Status Laden DO</title>
</head>
<body>
<script language="JavaScript"><!--
window.setTimeout('Status()',0);
function Status()
{var Jetzt = new Date();
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var WoTag = Jetzt.getDay();
if (WoTag == 0 || WoTag == 6) // Samstag und Sonntag ausgeschlossen
{ meldung_zu();
}
else
{ if (Stunden >= 7 && Stunden < 9 ) // Bereich 7:00 - 8:59 offen
{ meldung_offen();
}
elseif (Stunden >= 9 && Stunden < 10) // Bereich ab 9:15 zu
{ if (Minuten >=15)
{ meldung_zu();
}
else
{ meldung_offen();
}
}
elseif (Stunden >= 11 && Stunden < 12) // ab 11:15 bis 11:59 offen
{ if (Minuten >=15)
{ meldung_offen();
}
else
{ meldung_zu();
}
}
elseif (Stunden >= 12 && Stunden < 13) // zwischen 12:00 - 12:59 offen
{ meldung_offen();
}
elseif (Stunden >= 13 && Stunden < 14) // bis 13:30 offen, danach zu
{ if (Minuten < 30)
{ meldung_offen ();
}
else
{ meldung_zu ();
}
}
elseif (Stunden >= 14 && Stunden < 15) // 14:30 bis 15:00 offen
{ if (Minuten < 30)
{ meldung_zu ();
}
else
{ meldung_offen ();
}
}
else // bei allen übrigen Zeiten zu
{ meldung_zu ();
}
}
} //klammer von Funktion
function meldung_offen()
{
document.laden.status.value='offen';
window.setTimeout('Status()',1000);
}
function meldung_zu()
{
document.laden.status.value ='zu';
window.setTimeout('Status()',1000);
}
// --></script>
<form name="laden">
<p><input size="12" name="status"> </p>
</form>
</body>
</html>
Hi,
bei 'elseif' gehört noch ein Leerzeichen dazwischen (='else if').
dann funktionierts :).
Gruss
Axel
Hi,
bei 'elseif' gehört noch ein Leerzeichen dazwischen (='else if').
dann funktionierts :).
Gruss
Axel
Vielen Dank :)
ist das nicht in C++ anders!?
dachte da wäre es elseif..
darauf zu kommen...
Gibt es eigentlich eine Möglichkeit dieses Scriptso zu schrieben, das wenn sich die öffnungszeiten ändern man nicht alles umschreiben muss?
Vielen Dank
Hi,
Gibt es eigentlich eine Möglichkeit dieses Scriptso zu schrieben, das wenn sich die öffnungszeiten ändern man nicht alles umschreiben muss?
Das Umschreiben wird sich nitch vermeiden lassen, denk ich...
Aber vieleicht ist es so etwas übersichtlicher:
function Status()
{
var Jetzt = new Date();
var Stunden = Jetzt.getHours();
var Minuten = Jetzt.getMinutes();
var WoTag = Jetzt.getDay();
switch(WoTag)
{
case "0":
case "6":
meldung_zu(); // Samstag und Sonntag ausgeschlossen
break;
default:
switch(Stunden)
{
case "7":
case "8":
case "12":
meldung_offen(); //Bereich offen
break;
case "9":
(Minuten >= 15)?meldung_zu():meldung_offen(); // Bereich ab 9:15 zu
break;
case "11":
(Minuten >= 15)?meldung_offen():meldung_zu(); // ab 11:15 bis 11:59 offen
break;
case "13":
(Minuten < 30)?meldung_offen():meldung_zu(); // bis 13:30 offen, danach zu
break;
case "14":
(Minuten < 30)?meldung_zu ():meldung_offen(); // 14:30 bis 15:00 offen
break;
default:
meldung_zu(); //Bereich zu
break;
}
}
}
Gruss
Axel :)
Vielen Dank!
und sorry Du hast recht die Frage die ich hinterher in den Thread nachträglich geschrieben hatte war ja die Frage.
Nur dachte ich die ließt so untergeordnet keiner mehr :(.
Wird nicht wieder vorkommen !