在Fullcalendar上为每天应用不同的时间段和范围
我需要在中的某些天禁用某些时间段。我已经看到了以下内容: 但除了它指的是一个旧版本之外,它并没有提供一个固溶体 我已经启用了工作时间上午9点到晚上9点和每30分钟的时间段,但我需要在周一和周三上午9点到下午6点的不同范围。同样在星期六,我需要从上午9点到下午5点,默认时段持续时间为60分钟 到目前为止,我所想到的唯一解决方案(与提供的链接上的解决方案相匹配)是附加一个innerHTML div,它将通过对其应用z索引来隐藏我不需要的时隙。但我注意到,如果用户拖动时间段选择,那么它可能会意外地包括甚至隐藏的时间段在Fullcalendar上为每天应用不同的时间段和范围,fullcalendar,javascript,jquery,Fullcalendar,Javascript,Jquery,我需要在中的某些天禁用某些时间段。我已经看到了以下内容: 但除了它指的是一个旧版本之外,它并没有提供一个固溶体 我已经启用了工作时间上午9点到晚上9点和每30分钟的时间段,但我需要在周一和周三上午9点到下午6点的不同范围。同样在星期六,我需要从上午9点到下午5点,默认时段持续时间为60分钟 到目前为止,我所想到的唯一解决方案(与提供的链接上的解决方案相匹配)是附加一个innerHTML div,它将通过对其应用z索引来隐藏我不需要的时隙。但我注意到,如果用户拖动时间段选择,那么它可能会意外地包括
除了Fullcalendar,还有其他工具可以提供本机所需的操作吗?这是我迄今为止在这部分代码中使用的解决方案,我为每个特定日期创建一个div,该div将以不同的颜色突出显示 Javascript
'viewRender' : function(view, element) {
var currdisplay=view.name;
if(currdisplay=='agendaWeek'){
$('.fc-bg .fc-day.fc-widget-content.fc-sat').html(\"<div class='saturday'>some text</div>\");
$('.fc-bg .fc-day.fc-widget-content.fc-mon').html(\"<div class='monday'>some text</div>\");
$('.fc-bg .fc-day.fc-widget-content.fc-wed').html(\"<div class='wednesday'>some text</div>\");
}
},
因此,通过这段代码,我强调了从18日到21日的星期一和星期三,以及从17日到21日的星期六
最后,为了防止在这些时间进行选择,我使用了这段代码
'select' : function(start, end, jsEvent, view) {
var start_date = moment.tz(start, 'YourTimezone');
var end_date = moment.tz(end, 'YourTimezone');
var unselect = moment(start_date).format(\"dddd\");
var unselect_start = moment(start_date).format(\"HHmm\")
var unselect_end = moment(end_date).format(\"HHmm\")
if(unselect == 'Monday' || unselect == 'Wednesday'){
if(unselect_start >=1800 || unselect_end >1800){
$('.calendar').fullCalendar('unselect');
return;
}
} else if(unselect == 'Saturday'){
if(unselect_start >=1700 || unselect_end >1700){
$('.calendar').fullCalendar('unselect');
return;
}
}
}
我已经加入了minute.tz.js库以获取正确的时区格式日期只是为了澄清,您唯一可用的视图是agendaDay?或者你也打算使用agendaWeek这样的其他视图吗?@milz我也使用agendaWeek。。
'select' : function(start, end, jsEvent, view) {
var start_date = moment.tz(start, 'YourTimezone');
var end_date = moment.tz(end, 'YourTimezone');
var unselect = moment(start_date).format(\"dddd\");
var unselect_start = moment(start_date).format(\"HHmm\")
var unselect_end = moment(end_date).format(\"HHmm\")
if(unselect == 'Monday' || unselect == 'Wednesday'){
if(unselect_start >=1800 || unselect_end >1800){
$('.calendar').fullCalendar('unselect');
return;
}
} else if(unselect == 'Saturday'){
if(unselect_start >=1700 || unselect_end >1700){
$('.calendar').fullCalendar('unselect');
return;
}
}
}