23. oktober 2002 - 16:24Der er
23 kommentarer og 1 løsning
Kalender
Hej Eksperten
Jeg er godt på vej med at lave en simpel kalender i JavaScript. Jeg har også taget hensyn til skudår. Men jeg har problemer med de enkelt dags datoer i alle februar måneder i de forskellige år. Programmet kan ikke opdater de enkelt dage. Jeg håber i kan hjælpe. BS. Jeg skrive mine JavaScript kode………………………..
DagsDato= new Date(); hh=DagsDato.getHours(); mm=DagsDato.getMinutes(); ss=DagsDato.getSeconds();
// her udskriver jeg dagensdato i_dag=new Date(); maaned=i_dag.getMonth()+1; dag=i_dag.getDate(); aar=i_dag.getYear();
// funktion der tegner det endelige kalender. function kalender(aar,maaned) {
i_dag=new Date(aar,maaned,-2); start= i_dag.getDay(); // variablen start finder aktuelle ugedag for den månde og det år,der bliver sendt // med som parameter til funktion.
document.write("<table cellspacing=0 cellpadding=0 border=1>"); document.write("<tr><th colspan=7>"+maaned + " - " +aar+ "</th></tr>"); document.write("<tr><th> Søn </th><th> Man </th><th> Tir</th>"); document.write("<th> Ons</th>"); document.write("<th> Tor </th> <th>Fri</th> <th>Lør</th></tr>"); document.write("<tr align=right>");
var celle=0; for(i=0; i<start; i++)
{ document.write("<td> <\/td>"); celle++; }
//Med denne løkke finde ud af hvilke dag er den først dag i den aktulle uge //Hvis den først dag er Onsdag er fleterne for søndag mandag og tirsdag tommme.
var dage= new Array(31,28,31,30,31,30,31,31,30,31,30,31); //opretter jeg et array med antallet af dage i de enkelt måneder.
for(i=1; i<=dage[maaned-1]; i++) { //jeg har lavet nedstående løkke. for at tage hensyn til at der er måneder med 30 og 31,28 0g 29 dage.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
hej phoenixv jeg venter på din svar....................?
Synes godt om
Slettet bruger
24. oktober 2002 - 20:43#8
Så bliver du nødt til at vente lidt endnu, for jeg kan slet ikke se problemet... For mig at se, virker alt som det bør! Også i februar. Men du har nu stadig ikke ændret "dag" til "dage", så det giver formentlig problemer ved skudår.
Synes godt om
Slettet bruger
24. oktober 2002 - 21:17#9
Hvorfor har du oprettet to ens spørgsmål? Luk det ene, det er imod regleren!
Hej phoenixv jeg har ændret dag til dage, men den virker stadigvæk ikke. Jeg kan heller ikke forstå hvad problem er....Forresten jeg skal nok fjerne en af sporgsmålen. MVH zubi
Synes godt om
Slettet bruger
25. oktober 2002 - 18:14#11
Jeg kan stadig ikke finde et problem. Heller ikke hvis jeg ændrer min computers ur til d. 25/2-2004 (skudår).
Jeg har lavet mine kalender på en anden måde.Jeg vil ikke have at folk skal se mine kode. Forresten jeg kan sende mine kalender kode hvis du vil... bare give mig din e-male adresse.. P.S. hvordan lukker man spørgsmålet!
Synes godt om
Slettet bruger
30. oktober 2002 - 14:31#15
Jeg mener, det er forkert at skjule sin kode. Det er trods alt kun nogle få linjers kode. Har du måske ikke selv lært en masse fra at kigge i andre folks kildekoder? Hvorfor frarøve andre den mulighed? Og så er der jo olebole's: "Dem, der prøver at skjule sin kode, har ikke noget at skjule" (eller noget i den stil).
Men du lukker spørgsmålet ved selv at lægge et svar og acceptere det!
DagsDato= new Date(); hh=DagsDato.getHours(); mm=DagsDato.getMinutes(); ss=DagsDato.getSeconds();
// her udskriver jeg dagensdato i_dag=new Date(); maaned=i_dag.getMonth()+1; dag=i_dag.getDate(); aar=i_dag.getYear();
// funktion der tegner det endelige kalender. function kalender(aar,maaned) {
i_dag=new Date(aar,maaned,-2); start= i_dag.getDay(); // variablen start finder aktuelle ugedag for den månde og det år,der bliver sendt // med som parameter til funktion.
document.write("<table cellspacing=0 cellpadding=0 border=1>"); document.write("<tr><th colspan=7>"+maaned + " - " +aar+ "</th></tr>"); document.write("<tr><th> Søn </th><th> Man </th><th> Tir</th>"); document.write("<th> Ons</th>"); document.write("<th> Tor </th> <th>Fri</th> <th>Lør</th></tr>"); document.write("<tr align=right>");
var celle=0; for(i=0; i<start; i++)
{ document.write("<td> <\/td>"); celle++; }
//Med denne løkke finde ud af hvilke dag er den først dag i den aktulle uge //Hvis den først dag er Onsdag er fleterne for søndag mandag og tirsdag tommme.
var dage= new Array(31,28,31,30,31,30,31,31,30,31,30,31); //opretter jeg et array med antallet af dage i de enkelt måneder.
for(i=1; i<=dage[maaned-1]; i++) { //jeg har lavet nedstående løkke. for at tage hensyn til at der er måneder med 30 og 31,28 0g 29 dage.
Du behøver slet ikke tænke, Date-objektet gør det hele for dig ;-)
<html> <head> <script> function showCalendar(cid, action, month, year) {
if (month == null) month = (new Date()).getMonth(); if (year == null) year = (new Date()).getFullYear();
var time = new Date(), cal = Array(Array()), j = 0; var dkdays = Array(6,0,1,2,3,4,5), months = Array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"); time.setFullYear(year, month, 1); var cyear = time.getFullYear(), cmonth = time.getMonth(), sday = dkdays[time.getDay()], lday = 0;
for (var i = 0; i < sday; i++) cal[j].push(0); // fyld ud med nuller for (var i = 1; i <= 35; i++) { time.setFullYear(year, month, i); if (time.getMonth() != cmonth) break; if ((i > 1) && ((i+sday) % 7 == 1)) { cal.push(Array()); j++; } cal[j].push(i); lday = time.getDay(); } for (var i = 0; i < 7-(dkdays[lday]+1); i++) cal[j].push(0); // fyld ud med nuller
var co = document.getElementById(cid); while (co.firstChild) co.removeChild(co.firstChild);
var html;
html = "<table cellspacing='0' width='"+co.getAttribute("width")+"'>";
html += "<thead>"; html += "<tr>"; html += "<td align='center'><a href='java script: showCalendar(\""+cid+"\", \""+action+"\", "+(cmonth-1)+", "+cyear+");' class='prevMonth'> << </a></td>"; html += "<td align='center'><a href='java script: showCalendar(\""+cid+"\", \""+action+"\", "+cmonth+", "+(cyear-1)+");' class='prevYear'> |< </a></td>"; html += "<td colspan='3' align='center'>"+months[cmonth]+" "+cyear+"</td>"; html += "<td align='center'><a href='java script: showCalendar(\""+cid+"\", \""+action+"\", "+cmonth+", "+(cyear+1)+");' class='nextYear'> >| </a></td>"; html += "<td align='center'><a href='java script: showCalendar(\""+cid+"\", \""+action+"\", "+(cmonth+1)+", "+cyear+");' class='nextMonth'> >> </a></td>"; html += "</tr></thead>"; html += "</thead>";
html += "<tbody>"; html += "<tr>"; html += "<td align='center' width='14%'>M</td>"; html += "<td align='center' width='14%'>T</td>"; html += "<td align='center' width='14%'>O</td>"; html += "<td align='center' width='14%'>T</td>"; html += "<td align='center' width='14%'>F</td>"; html += "<td align='center' width='14%'>L</td>"; html += "<td align='center' width='14%'>S</td>"; html += "</tr>"; html += "</tbody>";
var today = new Date(); tday = today.getDate(); tmonth = today.getMonth(); tyear = today.getFullYear();
html += "<tfoot>"; for (var i = 0; i < cal.length; i++) { html += "<tr>"; for (var k = 0; k < cal[i].length; k++) { var cday = cal[i][k]; html += "<td align='center' "+((cday == tday && cmonth == tmonth && cyear == tyear)?"class='today'":"")+">"; if (cday) html += "<a href='java script: "+action+"("+cday+", "+(cmonth+1)+", "+cyear+");'>"+cday+"</a>"; else html += " "; html += "</td>"; } html += "</tr>"; } html += "</tfoot>";
<span id='kalender' width='300'>Arbejder..</span> hihi <script> function kalenderHandling(d, m, y) { alert("Du valgte d. "+d+"/"+m+"/"+y); } showCalendar("kalender", "kalenderHandling"); </script>
</body> </html>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.