jQuery插件FullCalendar日程表实现可扩展Google日历功能

时间:2022-11-28 17:55:08
这个介绍jQuery日历FullCalendar插件是一个非常不错的日历工具,可用于制作日程表或计划安排等,可扩展Google日历功能,制作个性化的日程表,同时可绑定点击事件或拖动事件,使用非常方便,效果图如下:
jQuery插件FullCalendar日程表实现可扩展Google日历功能
jQuery插件FullCalendar在线实例
http://arshaw.com/fullcalendar/

使用说明
需要使用jQuery库文件和jQuery UI库文件和FullCalendar库文件
http://jquery.com/
http://plugins.jquery.com/project/fullcalendar
http://ui.jquery.com/

同进需要使用fullcalendar.css文件

使用实例
一,包含文件部分

1. <link rel='stylesheet' type='text/css' href="fullcalendar/fullcalendar.css" mce_href="fullcalendar/fullcalendar.css" />
2. <mce:script type='text/javascript' src="jquery/jquery.js" mce_src="jquery/jquery.js"></mce:script>
3. <mce:script type='text/javascript' src="jquery/ui.core.js" mce_src="jquery/ui.core.js"></mce:script>
4. <mce:script type='text/javascript' src="fullcalendar/fullcalendar.js" mce_src="fullcalendar/fullcalendar.js"></mce:script>

如果需要绑定拖动事件,可增加ui.draggable.js文件

1. <mce:script type='text/javascript' src="jquery/ui.draggable.js" mce_src="jquery/ui.draggable.js"></mce:script>

二,HTML部分

1. <div id='calendar'></div>

三,Javascript部分

1. <mce:script type='text/javascript'><!--
2. $(document).ready(function() {
3. var d = new Date();
4. var y = d.getFullYear();
5. var m = d.getMonth();
6. $('#calendar').fullCalendar({
7. draggable: true,
8. events: [
9. {
10. id: 1,
11. title: "学习jQuery",
12. start: new Date(y, m, 6, 14, 0),
13. end: new Date(y, m, 11)
14. },
15. {
16. id: 2,
17. title: "每天写必优博客",
18. start: new Date(y, m, 2)
19. },
20. {
21. id: 2,
22. title: "每天写必优博客",
23. start: new Date(y, m, 9)
24. },
25. {
26. id: 3,
27. title: "开会",
28. start: new Date(y, m, 20, 9, 0)
29. },
30. {
31. id: 4,
32. title: "查看facebook",
33. start: new Date(y, m, 27, 16),
34. end: new Date(y, m, 29),
35. url: "http://facebook.com/"
36. }
37. ]
38. });
39. });
40.
// --></mce:script>

javascript部分主要是设置日程安排,各部分如下:

1. var d = new Date();
2. var y = d.getFullYear();
3. var m = d.getMonth();

获取时间,使用getFullYear()和getMonth()分别获取年和月

draggable表示日程安排是否可拖动
events表示具体的日程安排,格式如下:

1. [{
2. id: 1,
3. title: "学习jQuery",
4. start: new Date(y, m, 6, 14, 0),
5. end: new Date(y, m, 11)
6. }]

注意是一个数组[],里面包含JSON数据,分别是id,title,start和end,每个ID表示一个具体的事件安排。

一,同时可支持动态Ajax加载日程安排JSON数据,具体可查看实例源代码,如下:

1. <mce:script type='text/javascript'><!--
2. $(document).ready(function() {
3. $('#calendar').fullCalendar({
4. draggable: true,
5. events: "json_events.php",
6. eventDrop: function(event, delta) {
7. alert(event.title + ' was moved ' + delta + ' days/n' +
8. '(should probably update your database)');
9. },
10. loading: function(bool) {
11. if (bool) $('#loading').show();
12. else $('#loading').hide();
13. }
14. });
15. });
16.
// --></mce:script>

events直接调用PHP文件获取JSON数据,同时实现eventDrop和加载loading事件

二,可实现Google日历扩展,具体可查看实例源代码,如下:

1. <mce:script type='text/javascript'><!--
2. $(document).ready(function() {
3. $('#calendar').fullCalendar({
4. events: $.fullCalendar.gcalFeed(
5. 'http://www.google.com/calendar/feeds/',
6. {draggable: false, className: 'mygcal'}
7. ),
8. eventClick: function(event) {
9. window.open(event.url, 'gcalevent', 'width=700,height=600');
10. return false;
11. },
12. loading: function(bool) {
13. if (bool) $('#loading').show();
14. else $('#loading').hide();
15. }
16. });
17. });
18.
// --></mce:script>

events调用$.fullCalendar.gcalFeed()方法获取google日历数据,同时实现 eventClick和加载loading事件

使用jQuery插件FullCalendar日程表非常简单,只需要指定日程的具体事件,就可实现一个日程安排计划,同时可扩展Google日历功能,非常值得推荐。

FullCalendar 插件官方网址
http://arshaw.com/fullcalendar/

FullCalendar 插件在线文档说明
http://arshaw.com/fullcalendar/docs/

FullCalendar 插件在线下载
http://arshaw.com/fullcalendar/download/