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

FullCalendar Scheduler:slotDuration低于1分30秒失效问题求助

FullCalendar Scheduler slotDuration 无法设置低于1分30秒的问题解答

嘿,这个情况我之前也碰到过,这不是Bug,是FullCalendar Scheduler的预期设计,主要是为了防止时间轴上的标签过于密集,影响界面可读性。不过你完全可以把slotDuration降到30秒,只需要配合调整一个参数就行,我给你一步步说:

为什么会自动变回小时间隔?

FullCalendar有个自动优化逻辑:当你设置的slotDuration小于00:01:30时,它会自动把slotLabelInterval(时间轴上显示的时间标签间隔)调整为01:00:00,同时视觉上合并时间槽,让你看起来像是回到了小时间隔。但其实这个时候slotDuration的设置是生效的——事件的定位还是按你设置的短间隔来,只是视觉显示被优化了。

怎么设置30秒的slotDuration?

要让时间槽真正按30秒划分,同时保持界面可读性,你需要手动指定slotLabelInterval参数,覆盖自动优化的逻辑。比如:

$(function() {
  $('#calendar').fullCalendar({
    defaultView: 'timelineDay',
    header: {
      left: 'prev,next',
      center: 'title',
      right: 'timelineDay,timelineWeek,timelineMonth'
    },
    resourceLabelText: 'Rooms',
    resources: 'https://fullcalendar.io/demo-resources.json',
    events: [{
      id: '1',
      resourceId: 'a',
      start: '2018-05-24T06:00:00',
      end: '2018-05-24T06:00:30', // 改成30秒的事件,更直观看到效果
      title: '30-second Event'
    }],
    slotDuration: '00:00:30', // 核心:设置为30秒
    slotLabelInterval: '00:01:00', // 手动指定标签间隔,比如每分钟显示一个标签
    slotMinTime: '06:00:00', // 可选:限制显示的时间范围,减少渲染压力
    slotMaxTime: '06:30:00',
    contentHeight: 'auto' // 让日历自动适应高度,避免内容被截断
  });
});

注意事项

  • 如果你把slotLabelInterval设置得和slotDuration一样(比如都是30秒),时间轴上的标签会非常密集,几乎没法看,所以建议根据实际需求选择合适的标签间隔,比如1分钟、5分钟,平衡精度和可读性。
  • 更小的slotDuration会生成更多的时间槽,可能会增加页面的渲染压力,所以如果不需要显示全天的时间,可以通过slotMinTime和slotMaxTime限制显示的时间范围,提升性能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:57:37