JeroenE
Terugkerende gebruiker
- Lid geworden
- 20 mrt 2005
- Berichten
- 1.950
Ik heb een kalender gemaakt van (voorlopig) 1 maand.
Wat ik echter niet goed krijg, is dat ik de juiste datum niet onder de juiste dag krijg.
Voorbeeld 1
Voorbeeld 2
Beiden hebben dezelfde basisfunctie, alleen is er een klein verschil in het schrijven van de tabel.
Dit staat in de head van voorbeeld 1 :
En dit in de head van voorbeeld 2 :
Dit staat in de body :
De buitenste tabel is met het oog op het maken van een jaarkalender.
Hoe los ik dit op?
Greetz : Jer
en.
Wat ik echter niet goed krijg, is dat ik de juiste datum niet onder de juiste dag krijg.
Voorbeeld 1
Voorbeeld 2
Beiden hebben dezelfde basisfunctie, alleen is er een klein verschil in het schrijven van de tabel.
Dit staat in de head van voorbeeld 1 :
HTML:
<script language="javascript">
<!--
var Months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var DpM = new Array(31,"",31,30,31,30,31,31,30,31,30,31);
var today = new Date();
var nY = today.getFullYear();
var nM = today.getMonth();
var nD = today.getDate();
function showCalendar(y, m) {
DpM[1] = (((y % 100 != 0) && (y % 4 == 0)) || (y % 400 == 0)) ? 29 : 28;
var string = "<table width='225'><tr><th class='date' colspan='7'>" +
Months[m-1] + " " + y + "</th></tr><tr>";
for (var day = 0; day < 7; day++) {
string += "<td class='";
if (day == today.getDay()) {
string += "today";
} else {
string += "days";
};
string += "'>" + "SMTWTFS".substr(day,1) + "</td>";
};
string += "<tr>";
for (var i = 0; i < 42; i++) {
var currDate = ((i-m-1 >= 0) && (i-m-1 < DpM[m-1])) ? i-m : "";
string += "<td class='";
if ((currDate == nD) && (m == nM+1) && (y == nY)) {
string += "today";
} else {
string += "dates";
};
string += "'>" + currDate + "</td>";
if ((i % 7 == 0) && (i < 36)) string += "</tr><tr>";
};
return string += "</td></tr></table>";
};
-->
</script>
En dit in de head van voorbeeld 2 :
HTML:
<script language="javascript">
<!--
var Months = new Array("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","October","November","December");
var DpM = new Array(31,"",31,30,31,30,31,31,30,31,30,31);
var today = new Date();
var nY = today.getFullYear();
var nM = today.getMonth();
var nD = today.getDate();
function showCalendar(y, m) {
var currNum = 1;
DpM[1] = (((y % 100 != 0) && (y % 4 == 0)) || (y % 400 == 0)) ? 29 : 28;
var string = "<table width='225'><tr><th class='date' colspan='7'>" +
Months[m-1] + " " + y + "</th></tr><tr>";
for (var day = 0; day < 7; day++) {
string += "<td class='";
if (day == today.getDay()) {
string += "today";
} else {
string += "days";
};
string += "'>" + "ZMDWDVZ".substr(day,1) + "</td>";
};
for (var i = 0; i < 6; i++) {
string += "<tr>";
for (var j = 0; j < 7; j++) {
var currDate = ((currNum-nD-1 >= 0) && (currNum-nD-1 < DpM[m-1])) ? currNum-m : "";
string += "<td class='";
if ((currDate == nD) && (m == nM+1) && (y == nY)) {
string += "today";
} else {
string += "dates";
};
string += "'>" + currDate + "</td>";
currNum++;
};
string += "</tr>";
};
return string += "</td></tr></table>";
};
-->
</script>
Dit staat in de body :
HTML:
<script language="javascript">
<!--
document.write("<table><tr valign='middle'><td class='maintable'>" + showCalendar(nY, nM+1) + "</td></tr></table>");
-->
</script>
Hoe los ik dit op?
Greetz : Jer

Laatst bewerkt: