更新答案:
eventAfterRender: function(event, element, view) {
//only show title text once
if (!$(element).hasClass('fc-event-start')) {
$(element, 'fc-event-title').text(event.title);
$(element, 'fc-event-title').css( "text-align","center" );
};
var sameDate = (event.start.getDate() === event.end.getDate() &&
event.start.getMonth() === event.end.getMonth())
var pixelsPerDay = $(element).offsetParent().siblings("table").find(
".fc-day-content").width();
var pixelsPerHour = pixelsPerDay/24
var currentWidth = $(element).width()
var currentPosition = $(element).position()
var endTimeOffest = pixelsPerDay - (event.end.getHours() * pixelsPerHour)
var endTimeNewWidth = currentWidth - endTimeOffest
var startTimeOffset = pixelsPerDay - ((24 - event.start.getHours()) * pixelsPerHour)
//push event bars down a bit so they don't crush the dates
$(element).css('top', currentPosition.top + 13 + 'px');
if ($(element).hasClass('fc-event-end')) {
$(element).css('width', endTimeNewWidth + "px");
};
if ($(element).hasClass('fc-event-start') && !sameDate) {
$(element).css('width', (currentWidth - startTimeOffset) + "px");
$(element).css('left', (currentPosition.left + startTimeOffset) + "px");
};
},
原答案:
我最终使用了此代码 - 尽管它仍在进行中。
eventAfterRender: function(event, element, view) {
var pixelsPerDay = $(element).offsetParent().siblings("table").find(".fc-day-content").width();
var pixelsPerHour = pixelsPerDay/24
var currentWidth = $(element).width()
var currentPosition = $(element).position()
var endTimeOffest = pixelsPerDay - (event.end.getHours() * pixelsPerHour)
var endTimeNewWidth = currentWidth - endTimeOffest
var startTimeOffset = pixelsPerDay - ((24 - event.start.getHours()) * pixelsPerHour)
if ($(element).hasClass('fc-event-end')) {
$(element).css('width', endTimeNewWidth + "px");
};
if ($(element).hasClass('fc-event-start')) {
$(element).css('width', (currentWidth - startTimeOffset) + "px");
$(element).css('left', (currentPosition.left + startTimeOffset) + "px");
$(element).css('top', (currentPosition.top - 44) + "px")
};
}
如果某个事件在一周中开始并且/或者是一个少于一天的事件,则会出现一些问题 - 这会导致格式化关闭,尽管可以通过注释掉以下行来解决它:
$(element).css('top', (currentPosition.top - 44) + "px")