简介javascript
官方网站:
http://arshaw.com/fullcalendar/
英文文档:
http://arshaw.com/fullcalendar/docs/php
使用方法css
1. 下载压缩包fullcalendar-1.6.3.zip解压
2. 在html页面中导入资源html
代码以下 | 复制代码 |
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script> |
几点说明:
FullCalendar须要jquery,若是项目已经引入了jquery,此处不须要重复导入
若是要在日历中使用鼠标拖拽功能,须要导入jquery-ui
压缩包中包含的jquery-ui文件仅包含了jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.resizable.js的功能;若是项目已经引入了包含以上功能的jquery-ui文件,此处不可重复导入,重复导入会形成jquery-ui的其它功能失效
3. 调用插件jquery
代码以下 | 复制代码 |
$(function(){ |
配置日历表头json
代码以下 | 复制代码 |
$('#calenderDemo').fullCalendar({ |
left、center、right参数对应页面表头三个位置(左、中、右),参数值多个之间可使用逗号或者空格隔开,可选值范围以下:
title – 当前日期文本
prev – 向前翻按钮
next – 向后翻按钮
prevYear – 前一年按钮
nextYear – 后一年按钮
today – 今天按钮
month – 月视图
basicWeek – 周视图
basicDay – 日视图
agendaWeek – 带小时周视图
agendaDay – 带小时日视图dom
配置中文界面
代码以下 | 复制代码 |
$('#calenderDemo').fullCalendar({ |
日程对象event
日历中显示的日程事件
代码以下 | 复制代码 |
{ title: ‘some name’, start: ’2013-08-08′, end: ’2013-08-12′ } |
基本参数说明
title – 事件名称,显示在日程中
start – 日程开始时间
end – 日程结束时间
其它参数
id
allDay
url
className
editable
startEditable
durationEditable
source
color
backgroundColor
borderColor
textColor
除此之外,能够根据功能须要在event对象中添加自定义的属性
显示日程
代码以下 | 复制代码 |
$('#calenderDemo').fullCalendar({ |
添加参数events: array/json string/function
能够为数组:
代码以下 | 复制代码 |
events: [ |
能够经过ajax加载json数据:
代码以下 | 复制代码 |
events: { |
也能够是一个function:
代码以下 | 复制代码 |
events: function(start, end, callback) { |
添加日程
经过点击日历单元格,添加新日程
代码以下 | 复制代码 |
var calendar = $('#calenderDemo').fullCalendar({ |
参数说明
date – 当前日期,在agendaWeek、agendaDay视图点击时包含时间
allDay – 在agendaWeek、agendaDay视图点击时为false,其它状况为true
jsEvent – 原生javascript事件
view – 当前视图对象
修改日程
点击当前显示的日程,修改日程
代码以下 | 复制代码 |
var calendar = $('#calenderDemo').fullCalendar({ |
event参数为当前点击的日程
鼠标拖动改变日程时间范围
使用鼠标在页面上直接拖动改变日程时间范围,须要jquery-ui的拖拽功能,初始化时需配置参数editable为true来启用拖动功能。
代码以下 | 复制代码 |
var calendar = $('#calenderDemo').fullCalendar({ |
参数说明
dayDelta – 保存了此次拖动致使该日程事件移动了多少天, 向前为正数, 向后为负数
minuteDelta – 保存了此次拖动致使该日程事件移动了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效
allDay – 若是在month view下移动, 或在agenda view下移动到all-day区域, 则allDay为true, 移动到agenda view的其余区域则为false
revertFunc – 调用该方法, 能够将刚才的拖动恢复到原状。这个方法多用于ajax的提交, 移动以后, 提交数据到后台, 若是后台更新失败, 根据返回消息, 调用这个方法, 可使页面回复原状
代码以下 | 复制代码 |
var calendar = $('#calenderDemo').fullCalendar({ |
参数与eventDrop回调相似,如下仅说明不一样之处:
dayDelta – 保存了日程结束时间变化了多少天,向前为正数, 向后为负数
minuteDelta -保存了日程结束时间变化了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效,其它状况为0
鼠标划过选择一段日期
相似在资源管理器中选择多个文件的操做,使用鼠标在页面上选择一段日期进行操做,例如添加日程,须要配置selectable参数为true
在一个单元格上,鼠标划过选择事件select和鼠标点击单元格事件dayClick会被同时触发
代码以下 | 复制代码 |
var calendar = $('#calenderDemo').fullCalendar({ |
参数说明startDate – 开始日期endDate – 结束日期,当allDay为true时,结束日期包含最后一天