我在AgendaWeek视图中使用Full Calendar JS,我将可见时间限制为上午8点至下午5点,而不是默认显示的每天12小时,但是当我尝试扩展事件的时间并将其拖过时在可见时间结束时,它不会换到第二天。相反,它一直持续到包裹前的午夜。
有一种简单的方法可以防止这种情况发生吗?基本上我只希望它在一周的上午8点到下午5点之间显示事件。
这是我的代码:
$('#calendar').fullCalendar({
defaultView: 'agendaWeek',
allDaySlot: false,
minTime: '8:00am',
maxTime: '6:00pm',
weekends: false,
header: {
left: 'prev,next',
center: 'title',
right: ''
},
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
events: "{{URL::to('schedule/fetch')}}"
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.0/fullcalendar.min.js"></script>
我的事件以UTC格式存储在数据库中,只有开始时间和持续时间。为了得到结束时间,我只需添加开始和持续时间,然后再通过AJAX传回。我假设我需要让完整日历只是添加到持续时间,如果它溢出到第二天但我不知道如何实现这一点。
答案 0 :(得分:1)
我在选择完整日历中解决了以下解决方案:
select: function(start, end) {
if(start.format() > minTime && start.format() < maxTime){
eventId++;
var event = {
id : eventId,
start: moment(start.format()),
end: moment(end.format())
};
$('#calendar').fullCalendar('renderEvent', event, true);
}
}