如何从EventRender回调中获取'.fc-helper'的引用

时间:2015-07-07 09:35:22

标签: jquery fullcalendar

我正在开发一个日历应用程序,我想实现旅行时间

我已编辑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'。

任何帮助都会非常感激。

0 个答案:

没有答案