HTML简单电子日历

该篇文章详细介绍了使用HTML、CSS和JavaScript构建一个简单的电子日历,包括月份切换、日期显示以及高亮当前日期等功能的实现过程。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				text-align: center;
				margin-top: 10px;
				margin-bottom: 10px;
			}
			#calendar{
				width: 400px;
				margin: 10px auto;
			}
			button{
				width: 25%;
				float: left;
				height: 40px;
			}
			#month{
				width: 50%;
				float: left;
			}
			.everyday{
				width: 14%;
				float: left;
			}
			.wk{
				width: 400px;
				height: 60px;
				margin-left: auto;
				margin-right: auto;
			}
		</style>
	</head>
	<body onload="showDate()">
		<h3>简单电子日历的实现</h3>
		<hr />
		<div id="calendar">
			<div class="wk">
				<button onclick="lastMonth()">上个月</button>
				<div id="month"></div>
				<button onclick="nextMonth()">下个月</button>
			</div>
			<!--显示星期-->
			<div class="wk">
				<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>
		<script type="text/javascript">
			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";
						dayElement.style.fontWeight="bolder";
					}
					daterow.appendChild(dayElement);
				}
			}
			function lastMonth(){
				if(month>1)month=month-1;
				else{
					month=12;
					year=year-1;
				}
				showDate();
			}
			function nextMonth(){
				if(month<12)month=month+1;
				else{
					month=1;
					year=year+1;
				}
				showDate();
			}
		</script>
	</body>
</html>

运行结果:

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用HTML和JavaScript来生成日历。 首先,在HTML中创建一个表格来显示日历,如下所示: ```html <table> <thead> <tr> <th>日</th> <th>一</th> <th>二</th> <th>三</th> <th>四</th> <th>五</th> <th>六</th> </tr> </thead> <tbody id="calendar-body"> </tbody> </table> ``` 接下来,使用JavaScript来生成日历。可以使用Date对象来获取当前日期,然后根据当前月份,生成一个包含所有日期的数组。最后,将这个数组插入到表格中,如下所示: ```javascript // 获取当前日期 var currentDate = new Date(); // 获取当前月份 var currentMonth = currentDate.getMonth(); // 获取当前年份 var currentYear = currentDate.getFullYear(); // 获取当前月份的天数 var daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate(); // 获取当前月份的第一天是星期几 var firstDayOfMonth = new Date(currentYear, currentMonth, 1).getDay(); // 生成包含所有日期的数组 var calendarDates = []; for (var i = 1; i <= daysInMonth; i++) { calendarDates.push(i); } // 在表格中插入日期 var calendarBody = document.getElementById('calendar-body'); var row = document.createElement('tr'); for (var i = 0; i < firstDayOfMonth; i++) { var cell = document.createElement('td'); row.appendChild(cell); } for (var i = 0; i < calendarDates.length; i++) { var cell = document.createElement('td'); cell.textContent = calendarDates[i]; row.appendChild(cell); if ((i + firstDayOfMonth + 1) % 7 === 0) { calendarBody.appendChild(row); row = document.createElement('tr'); } } if (row.childNodes.length > 0) { calendarBody.appendChild(row); } ``` 这样就可以在HTML页面上生成一个简单日历了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值