2010-08-30 164 views

回答

0

它看起来像fullcalendar google code page上的此功能有一个开放的“增强”票证。如果您明确表示该问题,则会通知您有关该功能的任何更新。

此外,在该线程中,有人发布了一个解决方案的尝试。我没有尝试过,但可能值得一看。查看该特定评论here

6

最近写了一个插件,完全按照你的要求。希望fullcalendar的开发者Adam Shaw能够链接到它,或者将这个增强插件​​包含在fullcalendar内核中。

看看它,让我知道你在想什么。请报告任何错误。 https://github.com/lyconic/fullcalendar.viewmore

感谢

0

如果任何人有相同的问题阅读:

如果PHP/MySQL是用来从数据库获取事件:

先手开始日期戳和结束日期戳月份。

然后用简单的for循环

$allEvents = array(); 
    for ($i = $start; $i <= $end; $i = strtotime("+ 1 day", $i)) { 
    //need to have start and end dates to be the same day but end day must be at 23:59:59 
    $newStart = $i; 
    $newEnd = strtotime("+ 23 hours 59 minutes 59 seconds", $newStart); 
    $limit = 10; 
    //load all events with limit whatever limit you wish and merge with all events 
    $loadedEvents = loadEvents($newStart, $newEnd, $limit, $otheroptions); 
    $allEvents = array_merge($allEvents, $loadedEvents); 
    } 

,然后你可以使用$allEvents阵列显示事件。它为我工作,每天最多显示10个事件。

1

我在eventRender上处理这个。代码是这样的,maxEvents是你想要设置的最大值,而BuildMoreLink(currentMoreNum)可以建立你的链接。返回false可防止将项目添加到日历中。

eventRender: function (event, element) { 
     var eventDateString = GetDateInCalFormat(event.start); 
     var $calDay = $('td.fc-day[data-date="' + eventDateString + '"]'); 
     var dayEventCount = $calDay.attr('dayEventCount') ? parseInt($calDay.attr('dayEventCount')) : 0; 

     dayEventCount = dayEventCount + 1; 
     $calDay.attr('dayEventCount', dayEventCount); 

     if (dayEventCount <= maxEvents) { 
      //[any custom formatting] 
     } 
     else { 
      var missingEvents = dayEventCount - maxEvents; 
      $('.moreLink', $calDay).remove(); 
      $moreLink = $('<div class="moreLink"/>') 
      $moreLink.html(BuildMoreLink(missingEvents)); 
      $calDay.append($moreLink); 
      return false; 
     } 
    } 

噢,这里是我的得到正确的日期值找了一天格式化:

function GetDateInCalFormat(dateToFormat) { 
    dd = dateToFormat.getDate(); 
    mm = dateToFormat.getMonth() + 1; 
    yyyy = dateToFormat.getFullYear(); 
    if (dd < 10) { dd = '0' + dd } 
    if (mm < 10) { mm = '0' + mm } 
    results = yyyy + '-' + mm + '-' + dd; 
    return results; 
} 
+0

你可以只用'event.start.format( “YYYY-MM-DD”)'代替该功能 – 2014-08-21 16:54:48

+0

@MichelAyres不与标准js – jumpdart 2014-08-21 22:20:15

+0

使用moment.js你可以(现在需要完整的日历) – 2014-08-21 22:48:04

7

有了新的版本V2.1.0-β2启动11天以前Arshaw做的以下

解决的问题:

  • 最大事件与“更多...“链接(304)
  • 火不要eventMouseover/eventMouseout同时拖动/缩放(1297)

新的选项:

  • eventLimit
  • eventLimitClick
  • eventLimitText
  • dayPopoverFormat

Source

所以,你可以做到以下几点:

$('#calendar').fullCalendar({ 
    lang: 'en', 
    eventLimit: true, // If you set a number it will hide the itens 
    eventLimitText: "Something" // Default is `more` (or "more" in the lang you pick in the option) 
});