すいません。
プログラミングの勉強をしており、javascriptのカレンダーを作るプログラムを改変解析しているのですが、
現在の知識では、わからない点があり、教えて欲しいです。
宜しくお願いします。
var day=new Date(Year,Month,1); // (1)ここの引数の意味がわかりません。
mt[1]=29; // (2)mt[1]=29が何をしているのか意味がわかりません。
追伸
回答を頂き、(2)について、うるう年であると理解できました。
(Year,Month,1);の箇所を、(Year,Month,2);にすると、カレンダーの日付の表示箇所が右に1つずれました。
また(Year,Month,0);にすると、カレンダーの日付のの表示箇所が左に1つずれました。
何故でしょうか?
<!DOCTYPE html> <html> <head> <script type="text/javascript"> var Year,Month; function init() { var today=new Date(); Year=today.getFullYear(); Month=today.getMonth(); mannen(); } function back() { if (Month==0){ // 1月 Year--; Month=11; // 12月 } else { Month--; } alert("戻ります"); mannen(); } function next() { if (Month==11){ // 12月 Year++; Month=0; // 1月 } else { Month++; } alert("進みます"); mannen(); } function mannen() { var mt=new Array(31,28,31,30,31,30,31,31,30,31,30,31); var i,x,y,tag=""; var day=new Date(Year,Month,1); // (1)ここの引数の意味がわかりません。 var week=day.getDay(); x=week*40+45;y=65; if ((Year % 4)==0 && (Year % 100)!=0 || (Year % 400)==0) mt[1]=29; // (2)mt[1]=29が何をしているのか意味がわかりません。 else mt[1]=28; tag+="<font size='3' style='position:absolute;left:60px;top:20px'>"+Year+"年"+(Month+1)+"月</font>"; for (i=1;i<=mt[Month];i++){ tag+="<font size='3' style='position:absolute;left:"+x+"px;top:"+y+"px'>"+i+"</font>"; x+=40; if ((week+i)%7==0){ x=45; y+=40; } } document.getElementById("canvas").innerHTML=tag; } </script> </head> <body onLoad="init()"> <img src="leftbtn.png" style="position:absolute;left:40px;top:18px" onClick="back()" /> <img src="rightbtn.png" style="position:absolute;left:160px;top:18px" onClick="next()" /> <img id="n1" src="calendar.png" style="position:absolute;left:40px;top:40px" /> <div id="canvas"> </div> </body> </html>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/10/31 17:17
退会済みユーザー
2019/10/31 17:37