简单的日历实现

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>简单日历实现</title>
		<link rel="stylesheet" type="text/css" href="index.css"/>
		<script src="index.js"></script>
	</head>
	<body onload="showDate()">
		<h3 class="center_h3">简单日历的设计与实现</h3>
		<hr >
		<div id="calendar">
			<!-- 状态栏 -->
			<div class="flo">
				<button onclick="lastMonth()">上个月</button>
				<div id="month"></div>
				<button onclick="nextMonth()">下个月</button>
			</div>
			<!-- 显示星期几 -->
			<div>
				<div class="everyday">日</div>
				<div class="everyday">一</div>
				<div class="everyday">二</div>
				<div class="everyday">三</div>
				<div class="everyday">四</div>
				<div class="everyday">五</div>
				<div class="everyday">六</div>
			</div>
			<!-- 显示当前月份每天的日期 -->
			<div id="day"></div>
		</div>
	</body>
</html>

css文件

div{
	text-align: center;
	margin-top: 10px;
	margin-bottom: 10px;
}
.center_h3{
	text-align: center;
}
#calendar{
	width: 400px;
	margin: auto;
}
button{
	width: 25%;
	float: left;
	height: 40px;
}
#month{
	width: 50%;
	float: left;
}
.flo{
	overflow: hidden;
}
.everyday{
	width: 14%;
	float: left;
}

js文件

var today = new Date();
var year = today.getFullYear();
var month = today.getMonth()+1;
var day = today.getDate();
var allday = 0;
// 用于推算当前月份一共多少天
function count(){
	if(month!=2){
		if((month == 4)||(month == 6)||(month == 9)||(month == 11)){
			allday = 30
		}else{
			allday =31
		}
	}else{
		if(((year%4)==0&&(year%100)!=0)||(year%400)==0){
			allday=29
		}else{
			allday = 28
		}
	}
}
// 显示日历标题中的当前年份和月份
function showMonth(){
	var year_month = year+"年"+month+"月"
	document.getElementById("month").innerHTML = year_month
}
// 显示当前月份的日历
function showDate(){
	showMonth();
	count();
	var firstdate = new Date(year,month-1,1);
	var xiqi = firstdate.getDay();
	var daterow = document.getElementById("day")
	daterow.innerHTML = ""
	if(xiqi != 0) {
		for(var i = 0; i<xiqi;i++) {
			var dayElement = document.createElement("div")
			dayElement.className = "everyday"
			daterow.appendChild(dayElement)
		}
	}
	for(var j=1;j<=allday;j++){
		var dayElement = document.createElement("div")
		dayElement.className = "everyday"
		dayElement.innerHTML = j+""
		if(j==day){
			dayElement.style.color = "red"
		}
		daterow.appendChild(dayElement)
	}
}
// 显示上个月的日历
function lastMonth(){
	if(month>1){
		month-=1;
	}else{
		month=12;
		year-=1;
	}
	showDate()
}
// 显示下个月的日历
function nextMonth(){
	if(month<12){
		month+=1;
	}else{
		month =1;
		year+=1
	}
	showDate()
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值