我想使用jquery fullcalendar,但我想隐藏某些时间。 我希望从上午8点到上午11点和下午16点(晚上19点)显示日历
所以上午11:00到下午16:00之间的时间必须“隐藏”。
我没有看到这样做的选项: 我怎么强迫这个?
提前thx 克里斯托夫答案 0 :(得分:4)
您不想修改fullcalendar源代码,因为您希望与官方分支机构保持同步。
然后唯一的方法是在使用javascript:
进行fullcalendar初始化后隐藏适当的行(小时)//hide rows with unused hours. Class names can be found in html source of
//rendered fullcalendar (fc-slotxx)
for(var i=0; i<gapshours.length; i++)
{
var gapclass = '.' + gapsclasses[i];
$(gapclass).hide()
}
//display hours for clipped borders
for(var i=0; i<sethourhours.length; i++)
{
var hourclass = '.' + sethourclasses[i] + ' th'
$(hourclass).text(sethourhours[i]);
}
在此之后,您必须记住裁剪和移动事件的时段仅用于查看目的。
答案 1 :(得分:0)
看到你的代码会很有帮助;这是我最好的猜测。
在fullCalendar初始化代码中,我将使用事件生成函数(请参阅event generating function)
events: function(start,end,callback){
//get your data from wherever you're getting it
var events = some_ajax_method(start, end);
//filter it down to the times you want to show
events = $.map(events, function(event){
if (event meets time criteria)
return event
else
return null;
});
callback(events);
}