You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FullCalendar 3版本日期数字悬停效果实现方案咨询

嘿,我来帮你解决FullCalendar v3里给日期数字加悬停效果的问题!你提到的结构拆分确实是v3的典型特点——日期数字在主内容表格里,背景是单独的fc-bg表格,不过不管用纯CSS还是jQuery都能轻松实现,下面给你具体方案:

方案一:纯CSS实现(推荐)

利用FullCalendar v3的DOM结构特性,每个日期的外层容器是fc-day,里面同时包含背景表格和内容表格,我们可以通过父容器的hover状态联动控制日期数字和背景样式,完全不需要JS:

基础版:仅日期数字悬停效果

/* 给日期数字本身添加悬停样式 */
.fc .fc-day-number:hover {
  background-color: #e3f2fd; /* 自定义悬停背景色 */
  color: #1976d2; /* 自定义悬停文字色 */
  border-radius: 50%; /* 可选:给数字加圆形背景 */
  padding: 2px 6px; /* 配合圆形调整内边距 */
  cursor: pointer; /* 鼠标变手型,增强交互感 */
}

进阶版:悬停日期数字时同步改变单元格背景

如果想要悬停时整个日期单元格的背景也跟着变化,可以借助父容器fc-day的hover状态联动:

/* 悬停时同步修改背景表格和日期数字样式 */
.fc .fc-day:hover .fc-bg td {
  background-color: #f5f5f5; /* 单元格背景色 */
}
.fc .fc-day:hover .fc-day-number {
  color: #d32f2f;
  font-weight: bold;
  border-radius: 50%;
  background-color: #ffebee;
  padding: 2px 6px;
}

注:给选择器加上.fc前缀是为了提升样式优先级,避免被FullCalendar自带样式覆盖。

方案二:jQuery实现(复杂交互场景)

如果需要更灵活的控制(比如仅精确悬停在日期数字上才触发效果,或悬停时显示额外信息),可以用jQuery实现:

基础实现(静态元素)

$(document).ready(function() {
  // 监听日期数字的hover事件
  $('.fc-day-number').hover(
    // 鼠标进入时添加样式
    function() {
      const $dayContainer = $(this).closest('.fc-day');
      $dayContainer.find('.fc-bg td').addClass('fc-bg-hover');
      $(this).addClass('fc-day-number-hover');
    },
    // 鼠标离开时移除样式
    function() {
      const $dayContainer = $(this).closest('.fc-day');
      $dayContainer.find('.fc-bg td').removeClass('fc-bg-hover');
      $(this).removeClass('fc-day-number-hover');
    }
  );
});

事件委托版本(支持动态生成元素)

因为FullCalendar切换月份时会动态生成新的日期元素,所以用事件委托能确保新元素也能触发效果:

$(document).on('mouseenter', '.fc-day-number', function() {
  const $dayContainer = $(this).closest('.fc-day');
  $dayContainer.find('.fc-bg td').addClass('fc-bg-hover');
  $(this).addClass('fc-day-number-hover');
}).on('mouseleave', '.fc-day-number', function() {
  const $dayContainer = $(this).closest('.fc-day');
  $dayContainer.find('.fc-bg td').removeClass('fc-bg-hover');
  $(this).removeClass('fc-day-number-hover');
});

配套CSS样式

.fc-day-number-hover {
  color: #1976d2;
  font-weight: bold;
  border-radius: 50%;
  background-color: #e3f2fd;
  padding: 2px 6px;
  cursor: pointer;
}

.fc-bg-hover {
  background-color: #f5f5f5;
}

内容的提问来源于stack exchange,提问作者RiotAct

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 07:04:28