2017-07-24 51 views
0

我正在使用fullCalendar v3.4.0,並且我有一個跨越一天以上的事件。我希望在展開的每一天顯示事件的時間。 當搜索的StackOverflow我發現,使用fullCalendar V2.2.0一個例子,它顯示在每個工作日的時間:完整日曆v2.x顯示超過1天的事件發生時間

http://jsfiddle.net/3E8nk/1916/(注意,在事件的每一天它顯示10:00 - 6:00)

我使用了該示例中的代碼,但它不顯示相同的時間。

http://jsfiddle.net/7yL1zuhp/(注意,第一天的10:00 - 12:00,第二天沒有時間和第三天具有12:00 - 6:00)

有沒有辦法讓像第一個例子一樣顯示時間?

代碼是在這兩個例子中是相同的,唯一的變化是資源

HTML 
<div id='calendar'></div> 

JAVASCRIPT 
$('#calendar').fullCalendar({ 
header: { 
    left: 'prev,next today', 
    center: 'title', 
    right: 'month,agendaWeek,agendaDay' 
}, 
defaultDate: '2014-09-15', 
defaultView: 'agendaWeek', 
editable: true, 
events: [ 
    { 
     title: 'Birthday Party', 
     start: '2014-09-15T10:00:00', 
     end: '2014-09-17T06:00:00' 
    } 
] 
}); 

CSS 
body { 
    margin-top: 40px; 
    text-align: center; 
    font-size: 13px; 
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; 
} 

#calendar { 
    width: 900px; 
    margin: 0 auto; 
} 
+0

也許它不打擾顯示,因爲它會在中間的一天時間整天?我會說新版本更好,因爲它顯示了特定日期的時間。說「10:00-06:00」實際上有點愚蠢,因爲它不準確地描述情況。你可以想象這個事件是每天上午10點到下午6點(如果你沒有注意到24小時格式,很多人不會這樣做,並且沒有仔細看左欄)。它並沒有告訴你在哪個日子上午10點和上午6點發生。所以實際上每一天的一個單獨的時間段使IMHO更有意義。 – ADyson

+0

如果您認爲中間一天應該顯示「00:00-23:59」或其他內容,那麼可以通過GitHub向維護人員提交錯誤。 – ADyson

回答

0

這看起來像在fullCalendar實現更改。您可以通過其他渲染自行解決此問題。 請使用事件eventAfterRender

這裏是修復例如這是準備擴展到完整的解決方案

eventAfterRender: function(event, element) { 
    var $element = element.find('.fc-time'); 
    if ($element.length > 0) { 
     return; 
    } 
    var $content = element.find('.fc-content'); 
    $content.prepend('<div class="fc-time" data-start="12:00" data-full="12:00 AM - 6:00 AM" style="margin-right: 2px; background-color: rebeccapurple;"><span>12:00 - 6:00</span></div>'); 


    } 

工作實例http://jsfiddle.net/ravnx49e/

相關問題