利用HTML、CSS、JavaScript写一个万年历页面
时间: 2023-12-23 07:02:21 浏览: 70
好的,我可以为您提供一个简单的万年历页面示例,代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>万年历</title>
<style>
table{
border-collapse: collapse;
margin: auto;
font-size: 20px;
text-align: center;
border: 1px solid black;
}
th{
background-color: #ccc;
padding: 10px;
border: 1px solid black;
}
td{
padding: 10px;
border: 1px solid black;
}
#date{
font-size: 30px;
text-align: center;
margin-top: 20px;
}
</style>
</head>
<body>
<h1>万年历</h1>
<div id="date"></div>
<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>
<script>
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1;
function createCalendar(year, month) {
var calendarBody = document.getElementById("calendar-body");
calendarBody.innerHTML = "";
var date = new Date(year, month - 1, 1);
var day = date.getDay();
var lastDay = new Date(year, month, 0).getDate();
var rows = Math.ceil((day + lastDay) / 7);
var dateNum = 1;
for (var i = 0; i < rows; i++) {
var row = document.createElement("tr");
for (var j = 0; j < 7; j++) {
if ((i === 0 && j < day) || dateNum > lastDay) {
var cell = document.createElement("td");
row.appendChild(cell);
} else {
var cell = document.createElement("td");
cell.textContent = dateNum;
row.appendChild(cell);
dateNum++;
cell.addEventListener("click", function() {
alert(year + "年" + month + "月" + this.textContent + "日");
});
}
}
calendarBody.appendChild(row);
}
document.getElementById("date").textContent = year + "年" + month + "月";
}
createCalendar(year, month);
document.getElementById("prev").addEventListener("click", function() {
month--;
if (month < 1) {
month = 12;
year--;
}
createCalendar(year, month);
});
document.getElementById("next").addEventListener("click", function() {
month++;
if (month > 12) {
month = 1;
year++;
}
createCalendar(year, month);
});
</script>
</body>
</html>
```
这个页面会在浏览器中生成一个万年历,包含一个表格,用于显示当月的日期。您可以点击表格中的日期,弹出一个提示框提示您选择的日期。同时,页面还包含一个标题和一个显示当前年月的区域。您可以使用 `prev` 和 `next` 按钮来切换月份。
阅读全文