使用JavaScript实现一个简单的日历功能,可以通过HTML、CSS和JavaScript结合来完成。以下是一个基本的示例,展示如何创建一个可交互的日历:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Simple Calendar</title>
<style>
/* 添加一些基本样式 */
#calendar {
width: 300px;
margin: auto;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<div id="calendar"></div>
<script src="script.js"></script>
</body>
</html>
function generateCalendar(year, month) {
const calendarDiv = document.getElementById('calendar');
calendarDiv.innerHTML = ''; // 清空之前的内容
const date = new Date(year, month);
const firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
const daysInMonth = lastDay.getDate();
const startDay = firstDay.getDay();
let calendarHTML = '<table>';
calendarHTML += '<tr><th colspan="7">' + date.toLocaleString('default', { month: 'long', year: 'numeric' }) + '</th></tr>';
calendarHTML += '<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>';
let dayCounter = 1;
for (let i = 0; i < 6; i++) {
calendarHTML += '<tr>';
for (let j = 0; j < 7; j++) {
if (i === 0 && j < startDay) {
calendarHTML += '<td></td>';
} else if (dayCounter > daysInMonth) {
break;
} else {
calendarHTML += '<td>' + dayCounter + '</td>';
dayCounter++;
}
}
calendarHTML += '</tr>';
if (dayCounter > daysInMonth) break;
}
calendarHTML += '</table>';
calendarDiv.innerHTML = calendarHTML;
}
// 初始化日历,显示当前月份的日历
const today = new Date();
generateCalendar(today.getFullYear(), today.getMonth());
div
元素用于显示日历,并引入了外部的JavaScript文件。generateCalendar
函数用于生成指定年份和月份的日历。这个示例展示了如何使用JavaScript动态生成一个基本的日历,可以根据需要进一步定制和扩展功能。
领取专属 10元无门槛券
手把手带您无忧上云