当前位置: 首页 > news >正文

日历插件-FullCalendar的详细使用

一、介绍

FullCalendar 是一个功能强大、高度可定制的 JavaScript 日历组件,用于在网页中显示和管理日历事件。它支持多种视图(月、周、日等),可以轻松集成各种框架,并提供丰富的事件处理功能。

二、实操

案例具体代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>FullCalendar 日期选择</title><!-- FullCalendar CSS --><link href="https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.css" rel="stylesheet"><style>body {font-family: Arial, sans-serif;margin: 20px;}#calendar {max-width: 900px;margin: 0 auto;}.selection-info {margin-top: 20px;padding: 15px;background-color: #f0f8ff;border-radius: 5px;text-align: center;font-size: 18px;}.highlight {background-color: #ffeb3b;}</style>
</head>
<body><div id="calendar"></div><div class="selection-info"><p>您选择的日期是: <strong><span id="selectedDate">请点击日历选择</span></strong></p></div><!-- FullCalendar JS --><script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/main.min.js"></script><script src="https://cdn.jsdelivr.net/npm/fullcalendar@5.11.3/locales/zh-cn.js"></script><script>document.addEventListener('DOMContentLoaded', function() {var calendarEl = document.getElementById('calendar');var selectedDateEl = document.getElementById('selectedDate');var currentSelectedDate = null;var calendar = new FullCalendar.Calendar(calendarEl, {initialView: 'dayGridMonth',locale: 'zh-cn',headerToolbar: {left: 'prev,next today',center: 'title',right: 'dayGridMonth,timeGridWeek,timeGridDay'},// 点击日期时触发dateClick: function(info) {// 移除之前的高亮if (currentSelectedDate) {var prevSelected = document.querySelector('.fc-day[data-date="' + currentSelectedDate + '"]');if (prevSelected) prevSelected.classList.remove('highlight');}// 添加新选择的高亮info.dayEl.classList.add('highlight');// 更新选择的日期currentSelectedDate = info.dateStr;selectedDateEl.textContent = formatChineseDate(info.date);// 你也可以在这里执行其他操作,如提交表单等// console.log('选择的日期:', info.dateStr);},// 初始化后添加今天的高亮datesSet: function() {if (currentSelectedDate) {var selectedDay = document.querySelector('.fc-day[data-date="' + currentSelectedDate + '"]');if (selectedDay) selectedDay.classList.add('highlight');}}});calendar.render();// 格式化日期为中文显示function formatChineseDate(date) {var year = date.getFullYear();var month = date.getMonth() + 1;var day = date.getDate();var weekdays = ['日', '一', '二', '三', '四', '五', '六'];var weekday = weekdays[date.getDay()];return year + '年' + month + '月' + day + '日 星期' + weekday;}});</script>
</body>
</html>

效果图如下:

http://www.dtcms.com/a/273812.html

相关文章:

  • git lfs部署及报错处理
  • 静态路由综合配置实验报告
  • 如何安装和配置Autoptimize插件以提高WordPress网站访问速度
  • Web应用文件上传安全设计指南
  • Redis概念和基础
  • Apache Cloudberry 向量化实践(二):如何识别和定位向量化系统的性能瓶颈?
  • Django 模板(Template)
  • 你会用Github Copilot 吗 ——《内置功能详解》
  • h2数据库数据文件备份(防止异常断电导致的数据库文件无法使用,元数据块损坏等问题)
  • Oracle RAC 11.2.0.4 更新SYSASM和SYS密码
  • Oracle字符类型详解:VARCHAR、VARCHAR2与CHAR的区别
  • 在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题
  • 基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建
  • 鸿蒙app 开发中的 map 映射方式和用法
  • Deepseek-如何从零开始开发需要专业知识的prompt
  • 从零实现一个GPT 【React + Express】--- 【4】实现文生图的功能
  • [特殊字符] 扫描式处理:Python 自动提取 PDF 中关键词相关表格并导出为 Excel
  • Ubuntu 22.04与24.04 LTS版本对比分析及2025年使用建议
  • 嵌入式学习笔记--MCU阶段--day03中断
  • sqli-labs靶场通关笔记:第5-6关 报错注入
  • Android原生TabLayout使用技巧
  • DNS(Domain Name System,域名系统)
  • 11. TCP 滑动窗口、拥塞控制是什么,有什么区别
  • 正义的算法迷宫—人工智能重构司法体系的技术悖论与文明试炼
  • KeyError: “No object named ‘MambaIRv2Model‘ found in ‘model‘ registry!“
  • iOS 数组如何设计线程安全
  • netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
  • Rail开发日志_3
  • uniapp+unipush推送配置
  • 阿里云MaxCompute SQL与Apache Hive区别面面观