FullCalendar中⽂⽂档:API
FullCalendar提供了丰富的属性设置和⽅法调⽤,开发者可以根据FullCalendar提供的API快速完成⼀个⽇历⽇程的开发,本⽂将FullCalendar的常⽤属性和⽅法、回调函数等整理成中⽂⽂档,以供参阅。当前版本1.6.4。
普通显⽰设置
fun属性描述默认值
header 设置⽇历头部信息。
如果设置为fal,则不显⽰头部信息。包括left,center,right左中右三个位置,每个位置都
可以对应以下不同的配置:
title: 显⽰当前⽉份/周/⽇信息
prev: ⽤于切换到上⼀⽉/周/⽇视图的按钮
next: ⽤于切换到下⼀⽉/周/⽇视图的按钮
prevYear:⽤于切换到上⼀年视图的按钮
nextYear:⽤于切换到下⼀年视图的按钮
{
left: 'title',
themes
odysycenter: '',
right: 'today prev,next'
}
theme是否允许使⽤jquery的ui主题,如果设置为true,则需要加载jquery ui相关css和js⽂件。 fal
buttonIcons 设置header中使⽤的prev, next等变量对应按钮的样式,只有当theme为true时才有效,如果
你调⽤了jQuery ui样式但⼜不想使⽤它的图标样式,可以将此属性设置为fal
{ prev: 'circle-triangle-w',
next: 'circle-triangle-e' }
firstDay设置⼀周中显⽰的第⼀天是哪天,周⽇是0,周⼀是1,类推。0 isRTL设置为ture时则⽇历从右往左显⽰,貌似是针对阿拉伯⼈设计的。fal weekends是否显⽰周末,设为fal则不显⽰周六和周⽇。true
hiddenDays 隐藏⼀周中的某⼀天或某⼏天,数组形式,如隐藏周⼆和周五:[2,5],默认不隐藏,除⾮weekends设置为fal。
[]
weekMode 在⽉视图⾥显⽰周的模式,因为每⽉周数可能不同,所以⽉视图⾼度不⼀定。
fixed:固定显⽰6周⾼,⽇历⾼度保持不变
liquid:不固定周数,⾼度随周数变化
variable:不固定周数,但⾼度固定
'fixed'
weekNumbers 是否在⽇历中显⽰周次(⼀年中的第⼏周),如果设置为true,则会在⽉视图的左侧、周视图和
⽇视图的左上⾓显⽰周数。
fal
weekNumberCalculation周次的显⽰格式。"iso" height设置⽇历的⾼度,包括header⽇历头部,默认未设置,⾼度根据aspectRatio值⾃适应。
contentHeight 设置⽇历主体内容的⾼度,不包括header部分,默认未设置,⾼度根据aspectRatio值⾃适应。
aspectRatio设置⽇历单元格宽度与⾼度的⽐例。 1.35 handleWindowResize是否随浏览器窗⼝⼤⼩变化⽽⾃动变化。true
windowResize callback,当浏览器窗⼝变化时触发function,使⽤:$('#calendar').fullCalendar({
windowResize: function(view) {
alert('The calendar has adjusted to a window resize'); }
});
render method,绑定⽇历到id上。$('#id').fullCalendar('render');
destroy
method,销毁id⽇历,把⽇历回复到初始化前状态。
有声读物在线收听
$('#id').fullCalendar('destroy');
视图
FullCalendar提供五种可⽤视图,包括month(⽉视图),basicWeek(基本周视图,左侧不显⽰具体时间),basicDay(基本⽇视图,左侧不显⽰具体时间),agendaWeek(周视图),agendaDay(⽇视图)。
View视图对象的属性:
属性描述
name包括month,basicWeek,basicDay,agendaWeek,agendaDay
title标题内容(例如"2013年9⽉" or "Sep 7 - 13 2013")
watstart Date类型, 该view下的第⼀天
end Date类型, 该view下的最后⼀天. 由于是⼀个闭合的值, 所以, ⽐如在month view下, 10⽉这个⽉份, 那么end对应的应该是11⽉的第⼀天
visStart Date类型. 在该view下第⼀个可以访问的day. month view下, 该值是当⽉的第⼀天, week view下, 则通常和start⼀致
visEnd Date类型, 最后⼀个可访问的day
View其他属性和⽅法
属性描述默认值
defaultView⽇历初始化时默认视图'month'
getView method,取得视图对象信息,如获取当前视图的标题内容:
var view = $('#calendar').fullCalendar('getView'); alert("The view's title is " + view.title);
changeView method,切换视图
.fullCalendar('changeView',viewName) viewName为5种视图中的⼀种
⽇程选项
以下选项设置适⽤于agendaWeek和agendaDay视图⾥。
属性描述默认值allDaySlot在agenda视图模式下,是否在⽇历上⽅显⽰all-day(全天)true allDayText定义⽇历上⽅显⽰全天信息的⽂本'all-day' axisFormat设置⽇历agenda视图下左侧的时间显⽰格式,默认显⽰如:5:30pm'h(:mm)tt' slotMinutes在agenda的视图中, 两个时间之间的间隔(分钟)30 defaultEventMinutes事件默认的时间执⾏长度,如果事件对象没有指定执⾏多长时间,则默认执⾏两个⼩时120 firstHour当切换到agenda时,初始滚动条滚动到的时间位置,默认在6点钟的位置6 minTime设置显⽰的时间从⼏点开始0 maxTime设置显⽰的时间从⼏天结束24 slotEventOverlap设置视图中的事件显⽰是否可以重叠覆盖true
当前⽇期设置
属性描述默认值year设置⽇历年份,必须为4位如:2013,如果不设置则默认为当前年份
month设置初始化⽇历的⽉份,从0开始,如果年份和⽉份都未指定,则从⼀⽉开始。
date设置⽇历初始化时的⽇期,只有在周视图和⽇视图中有效
method,进⼊到上⼀⽉(周、天)视图
prev$('#calendar').fullCalendar('prev');
next method,进⼊到下⼀⽉(周、天)视图$('#calendar').fullCalendar('next');
prevYear method,进⼊上⼀年视图nextYear method,进⼊下⼀年视图today method,进⼊当天
gotoDate method,指定进⼊⽇历中的某⼀天
国王的演讲英文影评
$('#calendar').fullCalendar( 'gotoDate', year [, month, [ date ]] )
incrementDate method, 以当前时间为轴, 将⽇历向前, 或向后移动指定长度的时间, ⽐如: $('#calendar').fullCalendar(‘incrementDate’, -3, 2, -5)就表⽰将⽇历年份向前移动3年, ⽉份向后移动2⽉, day(天数)向前移动5天。
getDate method,返回当前⽇历中的⽇期
⽂本与时间定制
你可以根据项⽬需求设置⽇历显⽰的⽂本信息,如中⽂的⽉份等。
属性描述默认值
timeFormat设置显⽰的⽇程事件的时间格式,如timeFormat: 'H:mm' 则显⽰24⼩时制的像10:30{agenda: ‘h:mm{ -h:mm}}
columnFormat 设置显⽰⽇历每列表头信息的格式⽂本,默认:
{
month: 'ddd', // Mon
week: 'ddd M/d', // Mon 9/7
day: 'dddd M/d' // Monday 9/7 }
见描述
titleFormat 设置⽤于显⽰⽇历头部的⽂本信息,默认:
{
month: 'MMMM yyyy', // September 2013
week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", // Sep 7 - 13 2013
day: 'dddd, MMM d, yyyy' // Tuesday, Sep 8, 2013
}
见描述
buttonText 设置⽇历头部各按钮的显⽰⽂本信息,默认:
{
prev: '‹', // ‹
next: '›', // ›
prevYear: '«', // «
nextYear: '»', // »
today: 'today',
month: 'month',
week: 'week',
day: 'day'
}
见描述
monthNames ⽉份全称,默认:
['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October',
'November', 'December']
见描述
monthNamesShort⽉份名称简写,默认:['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun' 'Jul', 'Aug', 'Sep', 'Oct', '
Nov', 'Dec']见描述dayNames星期全称,默认:['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']见描述dayNamesShort星期名称简写,默认:['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']见描述weekNumberTitle周次,即⼀年中的第⼏周"W"
⿏标单击和滑过
以下列出的是当⿏标单击或者滑过⽇历中的某个元素时,回调的函数callback。属性描述
dayClick 当单击⽇历中的某⼀天时,触发callback,⽤法:
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
}
});
date是点击的day的时间(如果在agenda view, 还包含时间),在⽉view下点击⼀天时,allDay是true,
在agenda模式下,点击all-day的窄条时,allDay是true,点击其他的agenda view下的day则为fal,jsEvent就是⼀个普通的javascript事件,包含的是click 事件的基础信息。
eventClick 当点击⽇历中的某⼀⽇程(事件)时,触发此操作,⽤法:
$('#calendar').fullCalendar({
dayClick: function(event, jsEvent, view) {
}
});
event是⽇程(事件)对象,jsEvent是个javascript事件,view是当前视图对象。
eventMouover奥巴马就职演讲mp3
eventMouout
消极心态⿏标划过和离开的事件,⽤法和参数同上
选择操作
属性描述默认值lectable是否允许⽤户通过单击或拖动选择⽇历中的对象,包括天和时间。fal lectHelper当点击或拖动选择时间时,显⽰默认加载的提⽰信息,该属性只在周/天视图⾥可⽤。fal unlectAuto当点击页⾯⽇历以外的位置时,是否⾃动取消当前的选中状态。true unlectCancel指定哪些元素不会清空当前的选中,以JQUERY选择器的⽅式指定 '#someId'。''
lect callback,被选中的函数回调,使⽤⽅法:
function( startDate, endDate, allDay, jsEvent, view ) startDate:被选中区域的开始时间
endDate:被选中区域的结束时间
allDay:是否为全天事件
startDate:jascript对象
startDate:当前视图对象
unlect callback,选中被取消时的回调,使⽤⽅法:function( view, jsEvent )
lect method,选中某个时间,使⽤⽅法:
$('#calendar').fullCalendar( 'lect', startDate, endDate, allDay )
unlect method,取消选中,使⽤⽅法:
$('#calendar').fullCalendar( 'unlect' )
⽇程事件数据
FullCalendar最重要的部分,设置⽤于⽇程事件相关信息。
Event Object,事件对象,⽤来存储⼀个⽇历事件信息的标准对象,只有title和start是必须的属性描述
id可选,事件唯⼀标识,重复的事件具有相同的id
title必须,事件在⽇历上显⽰的title
allDay可选,true or fal,是否是全天事件。
start必须,事件的开始时间。
end可选,结束时间。
url可选,当指定后,事件被点击将打开对应url。
className指定事件的样式。
editable事件是否可编辑,可编辑是指可以移动, 改变⼤⼩等。
source指向次event的eventsource对象。
color背景和边框颜⾊。
update是什么意思backgroundColor背景颜⾊。
borderColor边框颜⾊。
textColor⽂本颜⾊。
事件源对象
tdsl事件源即⽇历中的数据来源,FullCalendar提供了数组、函数调⽤、以及JSON数据的形式,当然也可
以通过Google Calendar feed获取数据接⼝。后⾯会有⽂章专门介绍事件数据的操作,包括数据的查询、写⼊、更新和删除操作。
以下是Event事件相关的参数属性说明。
属性描述默认值
eventSources事件源,存储数组对象,可以是Arrays/Functions/URLs。
allDayDefault是否为全天⽇程事件,显⽰这⼀天中所做的事情。true
ignoreTimezone是否忽略时区。true
startParam在使⽤URL⽅式获取events数据源的时候, ⾃动插⼊到URL中的参数, 表⽰当前需要抓取的⽇程事件的起始时间。'start'
endParam和startParam参数意义相同, 表⽰要抓取的⽇程事件的终⽌时间。'end'
lazyFetching是否从缓存信息获取event。⽐如从⽉视图切换到周视图。true
eventDataTransform callback,将外部数据源转换成Fullcalendar可以处理的数据
loading callback,⽇历开始加载的时候,isLoading参数为true触发⼀次,⽇历加载完毕,isLoading参数为fal触发⼀次,⽤法:function(isLoading, view)
updateEvent method,更新⽇历空间中的⼀个⽇程事件,如果是重复的⽇程事件,则都更新。⽤法:$('#calendar').fullCalendar( 'updateEvent', event )
clientEvents method,返回FullCalendar已经存储到客户端的CalEvents对象数组, 第⼆个参数和removeEvents⽅法的第⼆个参数意义相同, 只不过在过滤器中, 如果返回true, 则该CalEvent对象将被加⼊到返回的数组中。
removeEvents method,从⽇历中删除⼀个⽇程事件. 第⼆个参数可以不填, 可以填id, 可以是⼀个过滤器(⼀个函数, 接受CalEvent对象作为参数)。⽤法:
$('#calendar').fullCalendar( 'removeEvents' [, idOrFilter ] )
refetchEvents method,重新抓取所有的⽇程事件源上的⽇程事件并渲染它们。
addEventSource method,添加⼀个⽇程事件源,添加之后, FullCalendar会马上从该源获取⽇程事件, 并加载到⽇历中。第⼆个参数和定义Calendar时候使⽤的url参数⼀致。
removeEventSource method,移除⼀个⽇程事件源,该源上获取得到的⽇程时间也将被马上从⽇历中移除。事件渲染