Jquery 如何限制fullcalendar中每个时间段的事件?
是否可以限制仅在插槽间隔中添加事件并将其限制为2 例如,用户只能在12:00:00-12:15:00之间添加事件,不可能添加更长的事件(12:00:00-12:30:00),并且只有在有“免费”插槽时,用户才能添加事件。 Orage事件正确(时隙中最多2个事件),蓝色事件错误(超过2个事件) 这里有一个例子Jquery 如何限制fullcalendar中每个时间段的事件?,jquery,fullcalendar,Jquery,Fullcalendar,是否可以限制仅在插槽间隔中添加事件并将其限制为2 例如,用户只能在12:00:00-12:15:00之间添加事件,不可能添加更长的事件(12:00:00-12:30:00),并且只有在有“免费”插槽时,用户才能添加事件。 Orage事件正确(时隙中最多2个事件),蓝色事件错误(超过2个事件) 这里有一个例子 $(document).ready(function() { // page is now ready, initialize the calendar... $('#c
$(document).ready(function() {
// page is now ready, initialize the calendar...
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'agendaDay'
},
defaultView: 'agendaDay',
allDaySlot: false,
scrollTime: moment().format('HH:mm:ss'),
slotDuration: '00:15:00',
minTime: '06:45:00',
maxTime: '23:15:00',
editable: true,
events: [
{
title: 'Meeting',
start: '2014-06-06T10:30:00',
end: '2014-06-06T10:45:00'
},
{
title: 'Lunch',
start: '2014-06-06T10:30:00',
end: '2014-06-06T10:45:00'
},
{
title: 'Birthday Party',
start: '2014-06-06T10:30:00',
end: '2014-06-06T10:45:00'
},
{
title: 'Meeting',
start: '2014-06-06T15:30:00',
end: '2014-06-06T15:45:00',
color: '#FF7F50'
},
{
title: 'Lunch',
start: '2014-06-06T15:30:00',
end: '2014-06-06T15:45:00',
color: '#FF7F50'
}
]
});
});
和实时:选择:功能(开始、结束){
log('Events:'+getEventsByTime(start,end).length);
var ev=getEventsByTime(开始、结束);
控制台日志(ev);
var-itms={};
ev.forEach(功能(条目){
var begin=力矩(entry.start);
var最终=力矩(输入端);
while(开始差异(最终)<0){
itms[begin]=(itms[begin]| | 0)+1;
如果(itms[begin]>=MaxEventsInterval){
log('.'警告'.'超过最大事件数!');
}
开始=时刻(开始)。加上('秒',900);
}
});
控制台日志(itms);
}
函数getEventsByTime(开始、停止){
var todaysEvents=$('div[name=calendar]')。fullCalendar('clientEvents',函数(事件){
报税表(
(event.start>=start&&event.end=event.start&&stop=event.start&&start
select: function(start, end) {
console.log( 'Events :' + getEventsByTime( start, end ).length );
var ev = getEventsByTime( start, end );
console.log( ev );
var itms = {};
ev.forEach(function(entry){
var begin = moment(entry.start);
var final = moment(entry.end);
while( begin.diff(final) < 0 ) {
itms[begin] = ( itms[begin] || 0) + 1;
if( itms[begin] >= maxEventsInInterval ) {
console.log(' __ WARNING __ , max events exceeded! ');
}
begin = moment(begin).add('seconds', 900);
}
});
console.log( itms );
}
function getEventsByTime( start, stop ) {
var todaysEvents = $('div[name=calendar]').fullCalendar('clientEvents', function(event) {
return (
( event.start >= start && event.end <= stop ) ||
( start >= event.start && stop <= event.end) ||
(start <= event.start && stop >= event.start) ||
(start >= event.start && start <= event.end)
);
});
return todaysEvents;
}