Den 17-02-2010, skrev Adam:
> Hejsa
>
> Jeg sidder og nørkler lidt med et lille script der skal vise dagens
> åbningstider:
>
> <script type="text/javascript">
>
> var myDays=
>
> ["søndag","manday","tirsdag","onsdag","torsdag","fredag","lørdag","søndag"]
>
> var openHours =
>
> ["lukket","10.00-19.00","10.00-19.00","10.00-19.00","10.00-19.00","10.00-17.00","10.00-14.00","luket"]
>
> today=new Date()
>
> thisDay=today.getDay()
>
> thisDay=myDays[thisDay]
>
> openToday=openHours[thisDay]
>
> document.write(thisDay + " har vi åben: ")
> document.write(openToday)
>
> </script>
>
> Resultatet af document.write bliver:
>
> onsdag har vi åben: undefined
>
> Er der nogen her der kan se hvor fejlen er i det meget meget simple
> script?
>
> Hilsen
> Adam
Arrays i js arbejder med heltals-index.
Du har derfor byttet om på to linier
thisDay=today.getDay()
thisDay er nu f.eks. 3
thisDay=myDays[thisDay]
thisDay er nu onsdag
openToday=openHours[thisDay]
her står openHours[ "onsdag"] - no can do!
skal være
thisDay=today.getDay();
openToday=openHours[thisDay];
thisDay=myDays[thisDay];
Det hele ser sådan ud i javascript :
var myDays = new Array( "søndag", "mandag", "tirsdag", "onsdag",
"torsdag", "fredag", "lørdag");
var openHours = new Array( "lukket", "10.00-19.00", "10.00-19.00",
"10.00-19.00", "10.00-19.00", "10.00-17.00", "10.00-14.00");
today = new Date();
thisDay = today.getDay();
openToday = openHours[thisDay];
thisDay = myDays[thisDay];
document.write( thisDay + " har vi åbent: " + openToday);
Du har defineret "søndag" dobbelt (hvornår er det manday?), og du
afender snuppelserne: I js afsluttes linier (statements) med et ;
At browserne forstår det alligevel, og sætter dem for dig, er ikke
nogen god grund til konsekvent at udelade dem.
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk