0

私はカレンダーを作っていて、今では毎月が正しい日に始まるようになっています (そうしないと、すべて日曜日に始まります)。日がカウントアップを開始する前に、毎月必要な空のデータ セルの量を含む配列を作成しました。カレンダーを正しい量の空のデータセルで埋めることができましたが、空のデータセルは右側から最初の行でいっぱいになり始めますが、論理的には左側から始まるはずです。

私のPCでどのように見えるかを示すスクリーンショットを含めました:

http://imgur.com/y7r8B16

コード:

var months = new Array();
months[0] = "januari";
months[1] = "februari";
months[2] = "maart";
months[3] = "april";
months[4] = "mei";
months[5] = "juni";
months[6] = "juli";
months[7] = "augustus";
months[8] = "september";
months[9] = "oktober";
months[10] = "november";
months[11] = "december";

var maxDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var spaces = [2, 5, 5, 1, 3, 6, 1, 4, 0, 2, 5, 0];
var weekDays = ["zo", "ma", "di", "wo", "do", "vr", "za"];
var kalender = 0;
var days = 1;
var weekDaysNumber = 0;
var empty = 1;



while(kalender < months.length){
    document.write("<div id='table'><table><tr class='jaarrij'>");
    document.write("<th colspan='7'>" + months[kalender] + "</th></tr>");
    document.write("<tr class='weekrij'>");

    while(weekDaysNumber <= 6){
        document.write("<td>" + weekDays[weekDaysNumber] + "</td>");
        weekDaysNumber++
    }
    document.write("</tr>");
    document.write("<tr class='rij'>");

    var rows = 1;

    while(days < maxDays[kalender]){

        if(spaces[kalender] >= 1) {
            document.write("<td class='dag'>" + " " + "</td");

            rows++;
            spaces[kalender]--;

        }

        else if(spaces[kalender] < 1){
            document.write("<td class='dag'>" + days + "</td>");



            rows++;
            days++;
        }





        if(rows == 7 && days !== maxDays[kalender]){
        document.write("</tr>");
        document.write("<tr class='rij'>");
        rows = 0;
        }

    }

    if(days == maxDays[kalender]){
            document.write("</tr></table></div>");
            kalender++;
            weekDaysNumber=0;
            days= 1;

        }
}
4

1 に答える 1

0

どうしてこれを見逃したのかわかりませんが、空白日を追加する行のタグを閉じていません..

簡単に使用できます

<td class='dag'></td>

+" "+よりも

于 2013-10-15T08:23:50.337 に答える