我在fullcalendar插件中使用長標題時遇到了一些問題。如果你有一個長的冠軍和短的事件時間(例如1天),所以你的事件標題將不適合。Jquery插件中的長標題FullCalendar
我能用它做什麼?
我在fullcalendar插件中使用長標題時遇到了一些問題。如果你有一個長的冠軍和短的事件時間(例如1天),所以你的事件標題將不適合。Jquery插件中的長標題FullCalendar
我能用它做什麼?
您可以:
我固定它像這樣MonthView:
找到這個函數:(對我來說這是上線#5381)
function daySegHTML(segs)
在此功能中找到這段代碼:
html +=
" class='" + classes.join(' ') + "'" +
" style='position:absolute;z-index:8;left:"+left+"px;" + skinCss + "'" +
在此之前添加一段代碼,所以它應該看起來像這樣:
if(event.title.length > 10)
var eventShortTitle = event.title.substring(0,10) + '...';
else
var eventShortTitle = event.title;
html +=
" class='" + classes.join(' ') + "'" +
" style='position:absolute;z-index:8;left:"+left+"px;" + skinCss + "'" +
那麼幾行婁找到這段代碼:
"<span class='fc-event-title'>" + htmlEscape(event.title) + "</span>" +
這種替換:
"<span class='fc-event-title'>" + htmlEscape(eventShortTitle) + "</span>" +
你長的標題問題是現在固定在月視圖。您可以爲「周」和「日」視圖執行相同的操作。
我提出這個問題有點不同的東西:
在fullcallendar源查找此部分:
if (seg.contentTop !== undefined && height - seg.contentTop < 10) {
// not enough room for title, put it in the time header
eventElement.find('div.fc-event-time')
.text(formatDate(event.start, opt('timeFormat')) + ' - ' + event.title);
(...)
這if
正在發生變化,短期事件的顯示方式。
我剛剛從源代碼中刪除整個if
並添加eventAfterRender
回調到我的js代碼:
eventAfterRender: (function(event, element, view) {
$(".fc-event").each(function(){
if ($(this).height() < $(this).find('.fc-event-content').height()) {
var fcPrevHeight = $(this).height();
var fcSlideHeight = $(this).height() + $(this).find('.fc-event-content').height();
$(this).hover(
function() {
$(this).css('height', fcSlideHeight)
},
function() {
$(this).css('height', fcPrevHeight);
}
)
}
})
})
當事件是小,你不能看到整個事件的標題,這個代碼被改變div的高度,當鼠標懸停,所以你可以在事件的標題:P
給這一個鏡頭:
eventRender: function(event, element) {
var limit = 20;
if (event.title.length > limit) {
element.find('.fc-event-title').text(event.title.substr(0,limit)+'...').parent().attr('title', event.title);
}
}
,裁剪並用本地瀏覽器工具提示添加標題。你可以使用qtip如果你想
eventRender: function(event, element) {
var limit = 20;
if (event.title.length > limit) {
element.find('.fc-event-title').text(event.title.substr(0,limit)+'...');
element.qtip({
// qtip options here
});
}
}
使用qtip2作爲qtip1與jQuery 1.9+ info here
只是一個更新,需要在'FullCalendar v2.9.1'中找到div類'.fc-title' – 2016-09-29 11:58:01
打破。如果你想顯示多行標題,您可以覆蓋fullcalendar默認CSS。在FullCalendar 2.1.1
默認CSS
.fc-day-grid-event > .fc-content {
white-space: nowrap;
overflow: hidden;
}
取出white-space: nowrap;
和YOUT標題將始終可見。
@Arron答案完美的作品對我來說,除了對版本FullCalendar v2.9.1
需要更新找到div
與fc-title
類,而不是.fc-event-title
var titleLimit = 20;
if (event.title.length > titleLimit) {
eventElement.find('.fc-title').text(event.title.substr(0,titleLimit)+'...').parent().attr('title', event.title);
}
是你很容易說得清的代碼周和日視圖位於? – 2014-04-25 14:03:33
@DimitrisPapageorgiou |對不起,我很久以前在FullCalendar上工作過。我現在甚至沒有代碼。 – 2014-04-25 15:07:19
...哦,無論如何,我發現代碼的位置,但問題是,相同的代碼影響周和日視圖,而不是我想要對周視圖進行不同的調整和不同的日視圖...當然所有這些現在無關緊要,因爲你說你不再在完整日曆上工作 – 2014-04-25 15:15:39