簡單日曆

HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>簡單日曆</title>
	<link rel="stylesheet" type="text/css" href="d.css">
	<script type="text/javascript" src="calendar.js"></script>

</head>
<body>
	<div id="calendar">
		<div id="month_year">
			<select id="year"></select>年
			<select id="month"></select>月
		</div>
		<ul id="title">
			<li>星期日</li>
			<li>星期一</li>
			<li>星期二</li>
			<li>星期三</li>
			<li>星期四</li>
			<li>星期五</li>
			<li>星期六</li>
		</ul>
		<ul id="datesUl"></ul>
	</div>
	<button onclick="oo()">星期</button>
	
</body>
</html>

CSS部分
*{
	margin: 0;
	padding: 0;
	/*	列表格式設置爲none,就是沒有格式。*/
	list-style: none;   
}
#calendar{
	width: 700px;
	background-color: lightgray;
	margin: 20px auto;

}
#calendar::after{
	content: "";
	display: block;
	clear: both;

}
#month_year{
	width: 700px;
	height: 50px;
	line-height: 50px;
	text-align: center;
}
ul>li{
	float: left;
	width: 100px;
	height: 50px;
	text-align: center;
	line-height: 50px;
}
/*:empty選擇器匹配沒有子元素(包括文本節點)的每個元素。*/
#datesUl>li:empty{
	opacity: 0;
}
#datesUl>li:hover{
	background-color: lightblue;
}

JavaScript部分

window.onload=init;


function init(){
var yearSelect=document.getElementById("year");
var monthSelect=document.getElementById("month");
var datesUl=document.getElementById("datesUl");
	// alert("ok");
	// alert(yearSelect);
	// alert(monthSelect);
	for (var year =1990; year<3000; year++) {  //初始化兩個選項卡
		createOption(year,year,yearSelect);
	}
	for (var month=1; month < 13; month++) {
		createOption(month,month,monthSelect);
	}
	var now=new Date();     //獲取當前的日期
	showSelect(now.getFullYear(),now.getMonth()+1);   //引用顯示選項卡的函數

	showDates(); //調用顯示日期函數

	yearSelect.onchange=function(){
		showDates();
	};
	monthSelect.onchange=function(){
		showDates();
	}
}
	
//
function createOption(text,value,parent){
	var option=document.createElement('option');
	option.innerHTML=text;
	option.value=value;
	parent.appendChild(option);

}
//獲取當前日期並顯示在選項卡中
function showSelect(year,month){
	var yearSelect=document.getElementById("year");
var monthSelect=document.getElementById("month");
var datesUl=document.getElementById("datesUl");
	yearSelect.value=year;
	monthSelect.value=month;

}
//獲取選擇的年月的第一天是星期幾
function getDays(year,month){
	var d=new Date(year,month,1);
	// var d=new Date();
	// d=new Date(d.setDate(1));
	return d.getDay();
	

}
function oo(){
	var o=new Date('2018','6','24');
	var v=o.getDay();
	alert(v);
}
//根據當前select中的年和月來顯示日期
function showDates(){
	var yearSelect=document.getElementById("year");
	var monthSelect=document.getElementById("month");
	var datesUl=document.getElementById("datesUl");

	datesUl.innerHTML="";
	var year=yearSelect.value;
	var month=monthSelect.value;
	//創建空的li
	for (var i = 0; i < getDays(year, month); i++) {
		createLi("",datesUl);
	}
	//創建有日期的li
	for (var j = 1; j <= getDatesOfMonth(year, month); j++) {
		createLi(j,datesUl);
	}

}
//創建li並添加至對應的容器
function createLi(text,parent){
	var li=document.createElement("li");
	li.innerHTML=text;
	parent.appendChild(li);

}
//創建一個輸入年月計算出這個月有幾天的函數
function getDatesOfMonth(year,month){
	var d=new Date(year,month,0);
	return d.getDate();

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章