Web日程管理FullCalendar

FullCalendar是一款jQuery日程管理控件,官网下载地址http://fullcalendar.io/download,目前最新版本是3.3.1。

第一步就是在需要调用FullCalendar日历的页面中载入必要的javascript和css文件,包括jQuery库文件,FullCalendar插件以及FullCalendar样式表。如果您还想要拖动日历的功能,就还需要加入jQuery ui插件。

<link rel="stylesheet" type="text/css" href="css/fullcalendar.css"> 
<script src="js/jquery-1.9.1.min.js"></script> 
<script src="js/jquery-ui-1.10.2.custom.min.js"></script> 
<script src="js/fullcalendar.min.js"></script> 
在页面的body里加入div#calendar,用来放置日历主体。

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

只要调用$('#calendar').fullcalendar(options)即可初始化,初始化配置中events、eventSources、select和eventClick是必须设置项。


events和eventSources是数据源配置项,存储数组对象,可以是Arrays/Functions/URLs。

$('#calendar').fullCalendar({  
    events: {  
        url: 'http://<数据源路径>',  
        type: 'post'  
    }  
});

eventSources和events类似,不过eventSources用于多个数据源的情况,是events数组

$('#calendar').fullCalendar({  
    eventSources: [  
        '/feed1.jsp',  
        '/feed2.jsp'  
    ]  
});  

select是时间段选择事件,当选择某个时间段时触发,用于新建日程。

eventClick是日程点击事件,当某个日程被点击是触发,用户查看或者更新日程。


header:设置日历头部信息

头部信息包括left、center、right三个位置,分别对应头部左边、头部中间和头部右边。
 头部信息每个位置可以对应以下配置:
 title: 显示当前月份/周/日信息
 prev: 用于切换到上一月/周/日视图的按钮
 next: 用于切换到下一月/周/日视图的按钮
 prevYear: 用于切换到上一年视图的按钮
 nextYear: 用于切换到下一年视图的按钮
 如果不想显示头部信息,可以设置header为false

header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
}

loading: function(isLoading, view)…..日历开始加载的时候, isLoading参数为true触发一次, 日历加载完毕, isLoading参数为false触发一次.

eventDrop: function(calEvent, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)  在一个日程事件被移动, 并成功移动到另外一个日期/时间.

1. dayDelta: 保存了这次拖动导致该日程事件移动了多少天, 向前为正数, 向后为负数.
2. minuteDelta: 保存了这次拖动导致该日程事件移动了多少分钟, 向前为正数, 向后为负数.  该值只有在agenda view下有效.
3. allDay: 如果在month view下移动, 或在agenda view下移动到all-day区域, 则allDay为true, 移动到agenda view的其他区域则为false
4. revertFunc: 调用该方法, 可以将刚才的拖动恢复到原状.  这个方法多用于ajax的提交, 移动之后, 提交数据到后台, 如果后台更新失败, 根据返回消息, 调用这个方法, 可以使页面回复原状.
5. eventResizeStart, eventResizeStop: function(calEvent, jsEvent, ui, view):  在一个日程事件改变大小之前之后发生(不一定要改变成功.)  calEvent保存了日程事件信息(date, title, 等等)
6. eventResize: function(calEvent, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view): 在日程事件改变大小并成功后调用, 参数和eventDrop参数用法一致.

 
/*
 添加日程事件
 start: 被选中区域的开始时间
 end: 被选中区域的结束时间
 jsEvent: jascript对象
 view: 当前视图对象
*/
select: function (start, end, jsEvent, view) {...}


eventClick,eventMouseover, eventMouseout: function(calEvent, jsEvent, view): 日程事件被点击, 鼠标划过, 鼠标离开的事件.  参数和上面介绍过的同名参数一致.    这里的eventClick事件如果返回false, 可以阻止浏览器跳转到对应日程事件在初始配置时指定的url地址.  这种事件的阻止传播可以参照DHTML文档关于事件的传播和原始响应.


日程事件数据

FullCalendar最重要的部分,设置用于日程事件相关信息。

Event Object,事件对象,用来存储一个日历事件信息的标准对象,只有title和start是必须的

属性 描述
id 可选,事件唯一标识,重复的事件具有相同的id
title 必须,事件在日历上显示的title
allDay 可选,true or false,是否是全天事件。
start 必须,事件的开始时间。
end 可选,结束时间。
url 可选,当指定后,事件被点击将打开对应url。
className 指定事件的样式。
editable 事件是否可编辑,可编辑是指可以移动, 改变大小等。
source 指向次event的eventsource对象。
color 背景和边框颜色。
backgroundColor 背景颜色。
borderColor 边框颜色。
textColor 文本颜色。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值