加载日历事件非常缓慢,任何方式来优化? [英] very slow loading calendar events, any way to optimize?
问题描述
我有一个成功运行的日历,但加载时间非常缓慢。每个事件都已成功呈现,但用户必须等待5-10秒才能切换视图或浏览月/周/天。
我已经显示事件的加载代码如下,有什么我可以做到这一点,使其加载更快?
谢谢
< script type ='text / javascript'>
$(document).ready(function(){
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar')。fullCalendar({
// events:[{title:我的测试活动,开始:星期三,2011年11月02日13:00:00,url:http:// edu,allDay: false}],
events:JSONcalendarFeed.aspx,
defaultView:'month',
weekends:false,
allDay: false,
minTime:8,
maxTime:19,
allDaySlot:false,
slotMinutes:15,
weekMode:'liquid',
defaultEventMinutes: 60,
firstHour:8,
header:{
left:'month,agendaweek,agendaDay',
center:'title',
right:'prev,今天下一'
},
eventRender:function(event,element){
va r evtDesc = event.description;
var evtStart = event.start;
var evtEnd = event.end;
if(evtDesc || evtStart){
element.qtip(
{
content:evtStart +' - '+ evtEnd +'< br />'+ evtDesc,
position:{
corner:{
target:'bottomMiddle',
tooltip:'topMiddle'
}
},
style: {
名称:'light'
}
}
);
}
},
selectable:true,
selectHelper:true,
select:function(start,end,allDay){
var title = prompt ('Event Title:');
if(title){
calendar.fullCalendar('renderEvent',
{
title:title,
start:start,
end:end,
allDay:false,
周末:false
},
true //使事件贴
);
}
calendar.fullCalendar('unselect');
},
editable:true
});
});
< / script>
总结评论:
不要发送来自Feed的所有事件,而只发送 start 和 end 之间发生的所有事件,这些参数是由fullCalendar发送给喂页。这些在秒中以unix时间戳的形式发送。
I have a calendar that is working successfully, but the load times are very slow. Each event is rendered successfully, but the user has to wait a good 5-10 seconds when switching views or navigating through the months/weeks/days.
I have shown the event loading code below, is there anything I can do to it to make it load faster?
Thanks
<script type='text/javascript'>
$(document).ready(function () {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
//events: [{"title":"My Test Event","start":"Wed, 02 Nov 2011 13:00:00 EST","url":"http://edu","allDay":"false"}],
events: "JSONcalendarFeed.aspx",
defaultView: 'month',
weekends: false,
allDay: false,
minTime: 8,
maxTime: 19,
allDaySlot: false,
slotMinutes: 15,
weekMode: 'liquid',
defaultEventMinutes: 60,
firstHour: 8,
header: {
left: 'month,agendaWeek,agendaDay',
center: 'title',
right: 'prev,next today'
},
eventRender: function (event, element) {
var evtDesc = event.description;
var evtStart = event.start;
var evtEnd = event.end;
if (evtDesc || evtStart) {
element.qtip(
{
content: evtStart + ' - ' + evtEnd + '<br/>' + evtDesc,
position: {
corner: {
target: 'bottomMiddle',
tooltip: 'topMiddle'
}
},
style: {
name: 'light'
}
}
);
}
},
selectable: true,
selectHelper: true,
select: function (start, end, allDay) {
var title = prompt('Event Title:');
if (title) {
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
allDay: false,
weekends: false
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
},
editable: true
});
});
</script>
To summarize the comments:
Don't send all events from the feed but only the ones that occurs between start and end which are parameters sent by fullCalendar to the feed-page. These are sent as unix timestamps in seconds.
这篇关于加载日历事件非常缓慢,任何方式来优化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!