我正在使用Fullcalendar库调度程序模块。
我使用minTime属性并将其设置为视图定义内的“ 06:00:00”(这样,“日期不是从午夜开始”)。
但是,如果那样的话,即使在6h之前开始的日历元素都位于类fc-not-start
中……
如何处理?
一些其他信息:
全日历版本:v3.9.0
fc-not-start
:此类应包含未在此视图中启动的日历(预定)元素。 (开始是不可见的)。这是必需的,因为如果元素具有一些圆角,边框,...如果开始不可见,则元素不应在左侧。 (或者,如果您要显示图标,则表示您未查看完整元素)
示例:
在红色方块内,这是fc-not-start
这是fc-not-start
fc-not-start
应该在fullcalendar库中计算自己,并且可以正常工作,直到在视图中添加参数minTime
为止。
我创建最少的代码来查看问题
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
<link rel='stylesheet' href='css/fullcalendar.css' />
<link rel='stylesheet' href='css/scheduler.css' />
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel='stylesheet' href='css/style.css' />
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div id='calendar'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script src='js/moment.js'></script>
<script src='js/fullcalendar.js'></script>
<script src='js/scheduler.js'></script>
<script src='js/my_script.js'></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</body>
</html>
JS
var resources = [
{
id: 'A',
title: 'A',
sortOrder: 1
},
{
id: 'B',
title: 'B',
sortOrder:2
},
{
id: 'C',
title: 'C',
sortOrder:3
}
];
$('#calendar').fullCalendar({
// height: 550,
// eventColor: '#428bca',
schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
defaultView: 'timelineFourDays',
views: {
timelineFourDays: {
type: 'timeline',
minTime: '07:00:00',
duration: { days: 4 }
},
},
resources: resourcesFunc,
nowIndicator: true,
events: [
{
id: '1',
resourceId: 'A',
title: 'Meeting',
start: '2019-07-13T00:20:00',
end: '2019-07-14T02:20:00',
},
{
id: '2',
resourceId: 'A',
title: 'Meeting2',
start: '2019-07-13T00:20:00',
end: '2019-07-14T02:20:00',
}
],
displayEventTime: true,
});
function resourcesFunc(callback) {
callback(resources);
}
仅当元素在屏幕上不完全可见时,<才应。在这种情况下,此类的计算错误...
答案 0 :(得分:0)
您说
“ <仅当元素在屏幕上不完全可见时,<”
但是:您的事件在指定的minTime
值之前开始。这意味着事件的起点永远不会在您的日历上显示。因此,将显示<
图标。
我认为您误解了此功能的性质。这与 HTML元素的开始是否可见无关,而与事件(由该HTML元素表示)的开始是否可见有关。并且由于您从显示器中删除了该事件所涵盖的某些时间,因此它会显示图标,以便用户清楚这一事实。
结论:日历的行为与预期的完全一样。这里没有错误。
顺便说一句,我要指出的是,如果您的活动例行性地覆盖了一天中的这些时间,那么我认为使这些时间不可见不是很合逻辑或非常用户友好,因为它隐藏了可能有用的东西信息。但是,如果这些特殊事件是异常的,并且您的大多数事件是在早上7点以后,那么您可能只需要容忍这些异常情况即可。