我正在开发一个日历应用程序,我想实现旅行时间。
我已编辑Grid.mixin eventsToNormalRanges: function(events)
(〜行:4260)
其中eventStartMS: +eventStart
已被替换为eventStartMS: +eventStart.subtract(event.ttime, 'minutes')
使旅行时间更长。 然后我在旅行时div前面添加了eventRender元素。
现在假设,活动于2015-07-07凌晨1:00 开始, 2小时的旅行时间。 由于旅行时间 2小时,我们的活动持续时间更长, 该活动将在两个活动中中断,并在2015-07-06 显示 1小时,现在我需要在第二个活动元素中显示剩余时间。
因此我需要计算第一个事件元素的 outerHeight
Theese类可以帮助我们选择正确的元素.fc-helper.fc-start.fc-not-end
,并在不同的一天开始旅行时为.fc-helper.fc-end.fc-not-start > div.travel-time
设置正确的高度。
然而,虽然辅助元素似乎与呈现事件同时呈现,但是不可能获得对helper元素的jQuery引用。 (它来自开发者控制台)。
这是我的eventRender回调代码。
function fullcalendar_event_render (event, element, view){
$(element).addClass('calendar-event-'+event.id);
if(view.name == "agendaWeek" || view.name == "agendaDay") {
if(event.ttime > 0) {
var row_height = $('.fc-minor').outerHeight(); //height of one half-hour slot
var tt_size = event.ttime / 30; //how many slots would ttime take
var height = row_height*tt_size-2; //total height of travel-time div
if($(element).is('.fc-start.fc-end') || $(element).is('.fc-start.fc-not-end')){
$(element).prepend('<div class="fc-travel-time" style="height:'+height+'px">Traveling: '+event.ttime+' Minutes</div>');
}
else if($(element).is('.fc-end.fc-not-start')) {
var added = $('.calendar-event-'+event.id+'.fc-end.fc-not-start').find('.fc-travel-time').length; //check if we already added 'tt' div
var start_height = $('.fc-start.fc-not-end.fc-helper').outerHeight();
if(start_height && !added && start_height <= height) {
$('.calendar-event-'+event.id+'.fc-end.fc-not-start').prepend('<div class="fc-travel-time" style="height:'+(height-start_height)+'px">Cesta: '+event.ttime+' Minut</div>');
}
}
}
}
}
start_height
总是 null ,因为我们无法从此函数内部引用'.fc-helper'。
任何帮助都会非常感激。