2016-12-17 78 views
0

有時在FullCalendar中,尤其是使用Scheduler插件,其中視圖中的各天有許多資源和許多列,因爲缺少空間,事件的寬度很小在頁面上。在這種情況下,將事件文本垂直定向,從上到下寫入更合適 - 而不是默認的從左到右。這將允許文字利用較大的高度,並且由於寬度減小而消除文字。如何將事件文本旋轉90度?如何將FullCalendar事件文本旋轉90度爲垂直

這裏是默認的事件看,當壓扁在一起,就像:

這就是我想要的事件看起來像:使用eventAfterAllRender回調 desired vertical-labeled events

回答

0

,檢查渲染事件寬度太小以及日曆是否在特定視圖中。如果滿足這些條件,則使用CSS變換來旋轉事件元素中的文本。此外,使時間和名稱的子元素內聯塊,使他們跨越一條線,以利用空間。

eventAfterAllRender: function(view) { 
    if(view['name'] != "month") { 
     $('.fc-event .fc-content').each(function() { 
      var e = $(this); 
      if(e.width() < 40) { 
       var p = e.parent(); 
       var h = p.height(); 
       var w = p.width(); 
       e.css({ 
       'float': 'left', 
       'transform': 'rotate(90deg)', 
       'transform-origin': 'left top 0', 
       'width': h+'px', 
       'margin-left': w+'px' 
       }); 
       e.find('.fc-time').css({ 
       'display': 'inline-block', 
       'margin-right': '5px' 
       }); 
       e.find('.fc-title').css('display', 'inline-block'); 
      } 
     }); 
    } 
    } 

在這種情況下,我只想要旋轉的標籤90度,如果事件元素小於40個像素寬,日曆不在月視圖。