jquery fullcalendar隐藏某些小时

时间:2011-11-15 18:57:51

标签: jquery-ui fullcalendar

我想使用jquery fullcalendar,但我想隐藏某些时间。 我希望从上午8点到上午11点和下午16点(晚上19点)显示日历

所以上午11:00到下午16:00之间的时间必须“隐藏”。

我没有看到这样做的选项: 我怎么强迫这个?

提前thx 克里斯托夫

2 个答案:

答案 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);
}