当前位置: 首页 > 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.lryc.cn/news/585726.html

相关文章:

  • C++:非类型模板参数,模板特化以及模板的分离编译
  • 【整数大求余草稿】2022-3-7
  • 进制转换原理与实现详解
  • Qt中QGraphicsView类应用解析:构建高效2D图形界面的核心技术
  • vue table 自定义处理 key 作为 表头
  • AUTOSAR进阶图解==>AUTOSAR_SWS_IOHardwareAbstraction
  • [精选]如何解决pip安装报错ModuleNotFoundError: No module named ‘subprocess’问题
  • Matlab裁剪降水数据:1km掩膜制作实战
  • C++STL-list
  • 这个方法的目的是检查一个给定的项目ID(projectId)是否在当前数据库中被使用(搜索全库)
  • 四、神经网络——正则化方法
  • VLM-R1 + GRPO 算法完整复现全过程日志
  • Linux修炼:权限
  • SpringCloud【OpenFeign】
  • 学习日记-spring-day46-7.11
  • 伺服驱动控制CANopen协议
  • 网络编程(基本概念)
  • 【C++篇】二叉树进阶(上篇):二叉搜索树
  • TCP详解——流量控制、滑动窗口
  • mysql的性能优化:组提交、数据页复用、全表扫描优化、刷脏页
  • 【JMeter】调试方法
  • 论容器化 | 分析Go和Rust做医疗的后端服务
  • Express实现定时任务
  • 飞算科技正在撬动各行业数字化转型的深层变革
  • ch06 部分题目思路
  • OpenCV实现感知哈希(Perceptual Hash)算法的类cv::img_hash::PHash
  • 深入探究编程拷贝
  • 基于Java Spring Boot开发的旅游景区智能管理系统 计算机毕业设计源码32487
  • 4万亿英伟达,凭什么?
  • 【Linux应用】Ubuntu20.04 aarch64开发板一键安装ROS2(清华源)