当前位置: 首页 > 编程日记 > 正文

jquery日历插件FullCalendar使用技巧

原文链接:http://blog.csdn.net/u013493957/article/details/44920341
FullCalendar是一款基于jquery的日历控件,它有着很强大的功能,下面我来给大家介绍一下FullCalendar使用技巧吧,希望此方法对各位有帮助呀。

简介

官方网站:
http://arshaw.com/fullcalendar/
英文文档:
http://arshaw.com/fullcalendar/docs/


使用方法

1. 下载压缩包fullcalendar-1.6.3.zip解压
2. 在html页面中导入资源

代码如下复制代码

<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/JavaScript" src="js/jQuery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="js/fullcalendar.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. 调用插件

代码如下复制代码

$(function(){
 $('#calenderDemo').fullCalendar({});
});

配置日历表头

代码如下复制代码

$('#calenderDemo').fullCalendar({
 header:{
  left: 'prev,next today',
  center: 'title',
  right: 'month,agendaWeek,agendaDay'
 }
});

left、center、right参数对应页面表头三个位置(左、中、右),参数值多个之间可以使用逗号或者空格隔开,可选值范围如下:
title – 当前日期文本
prev – 向前翻按钮
next – 向后翻按钮
prevYear – 前一年按钮
nextYear – 后一年按钮
today – 今天按钮
month – 月视图
basicWeek – 周视图
basicDay – 日视图
agendaWeek – 带小时周视图
agendaDay – 带小时日视图

配置中文界面

代码如下复制代码

$('#calenderDemo').fullCalendar({
 buttonText: {
  today: '今天',
  month: '月',
  week: '周',
  day: '天'
 },
 allDayText: '全天',
 monthNames: ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],
 monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'],
 dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
 dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
});

日程对象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:[]
});

添加参数events: array/json string/function
可以为数组:

代码如下复制代码

events: [
 {
  title: 'All Day Event',
  start: new Date()
 },
 {
  title: 'Long Event',
  start: new Date(),
  end: new Date(new Date().getTime()+86400000)
 }
]

可以通过ajax加载json数据:

代码如下复制代码

events: {
 url: '/myfeed.PHP',
 type: 'POST',
 data: {
  custom_param1: 'something',
  custom_param2: 'somethingelse'
 },
 error: function() {
  alert('there was an error while fetching events!');
 },
 color: 'yellow',   // a non-ajax option
 textColor: 'black' // a non-ajax option
}

也可以是一个function:

代码如下复制代码

events: function(start, end, callback) {
 // 取得日程数据后回调
 callback(events);
}

添加日程
通过点击日历单元格,添加新日程

代码如下复制代码

var calendar = $('#calenderDemo').fullCalendar({
 dayClick: function(date, allDay, jsEvent, view) {
  // 此处可以进行弹窗、后台通信等处理
  // 本例仅在日历中添加一个新日程
  calendar.fullCalendar('renderEvent',
   {
    title: '日程' + new Date().getTime(),
    start: date,
    allDay: allDay
   }
  );
 }
});

参数说明
date – 当前日期,在agendaWeek、agendaDay视图点击时包含时间
allDay – 在agendaWeek、agendaDay视图点击时为false,其它情况为true
jsEvent – 原生javascript事件
view – 当前视图对象

修改日程
点击当前显示的日程,修改日程

代码如下复制代码

var calendar = $('#calenderDemo').fullCalendar({
 eventClick : function(event, jsEvent, view) {
  // 此处可添加修改日程的代码
  var red = Math.round(255 * Math.random());
  var green = Math.round(255 * Math.random());
  var blue = Math.round(255 * Math.random());
  $(this).css('background-color', 'rgb(' + red + ',' + green + ',' + blue + ')');
 }
});

event参数为当前点击的日程

鼠标拖动改变日程时间范围
使用鼠标在页面上直接拖动改变日程时间范围,需要jquery-ui的拖拽功能,初始化时需配置参数editable为true来启用拖动功能。

代码如下复制代码

var calendar = $('#calenderDemo').fullCalendar({
 editable : true,
 eventDrop : function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) {
  // 拖动某个日程到新位置时,日程时间改变,此处可做相关处理
 }
});

参数说明
dayDelta – 保存了这次拖动导致该日程事件移动了多少天, 向前为正数, 向后为负数
minuteDelta – 保存了这次拖动导致该日程事件移动了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效
allDay – 如果在month view下移动, 或在agenda view下移动到all-day区域, 则allDay为true, 移动到agenda view的其他区域则为false
revertFunc – 调用该方法, 可以将刚才的拖动恢复到原状。这个方法多用于ajax的提交, 移动之后, 提交数据到后台, 如果后台更新失败, 根据返回消息, 调用这个方法, 可以使页面回复原状

代码如下复制代码

var calendar = $('#calenderDemo').fullCalendar({
 editable : true,
 eventResize : function(event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
  // 改变某个日程大小,日程结束时间改变,此处可做相关处理
 }
});

参数与eventDrop回调类似,以下仅说明不同之处:
dayDelta – 保存了日程结束时间变化了多少天,向前为正数, 向后为负数
minuteDelta -保存了日程结束时间变化了多少分钟, 向前为正数, 向后为负数,该值只有在agenda view下有效,其它情况为0

鼠标划过选择一段日期
类似在资源管理器中选择多个文件的操作,使用鼠标在页面上选择一段日期进行操作,例如添加日程,需要配置selectable参数为true
在一个单元格上,鼠标划过选择事件select和鼠标点击单元格事件dayClick会被同时触发

代码如下复制代码

var calendar = $('#calenderDemo').fullCalendar({
 selectable : true,
 select : function(startDate, endDate, allDay, jsEvent, view) {
  // 选中一段日期,此处可做相关处理
  // 处理完成后,取消选中状态
  calendar.fullCalendar('unselect');
 }
});

参数说明
startDate – 开始日期
endDate – 结束日期,当allDay为true时,结束日期包含最后一天

转载于:https://www.cnblogs.com/zhongshiqiang/p/6900161.html

相关文章:

列表CheckBox全选 结合DataGrid 进行删除操作

//CheckBox全选function CA(){ var frmdocument.Form1; alert(frm) for (var i0;i<frm.elements.length;i) { var efrm.elements[i]; alert(e.type) alert(e.name) if ((e.name ! allbox) && (e.typecheckbox)) { …

遗传算法主程序(辅助)

遗传算法主程序&#xff08;辅助&#xff09; 本图文已经更新&#xff0c;详细地址如下&#xff1a; http://blog.csdn.net/lsgo_myp/article/details/54584840

互联网产品mysql数据库设计总结

mysql数据库性能不比oracle数据库&#xff0c;所以设计上&#xff0c;和oracle有一些不同。下面总结一些互联网产品的数据库设计。 1.主键 主键可以使用bigint(20) unsigned也可以使用varchar&#xff0c;使用bigint&#xff0c;可以设置为自增主键auto_increment。使用varch…

【跟我一起学Unity3D】做一个2D的90坦克大战之AI系统

对于AI&#xff0c;我的初始想法非常easy&#xff0c;首先他要能动&#xff0c;而且是在地图里面动。 懂得撞墙后转弯&#xff0c;然后懂得射击&#xff0c;其它的没有了&#xff0c;基于这个想法&#xff0c;我首先创建了一个MyTank类&#xff0c;用于管理玩家的坦克的活动&am…

如何利用C#开发“扫雷”小游戏

本文详细说明了利用C#语言开发“扫雷”小游戏的开发过程。

spring ioc原理分析

spring ioc原理分析 spring ioc 的概念简单工厂方法spirng ioc实现原理 spring ioc的概念 ioc: 控制反转 将对象的创建由spring管理。比如&#xff0c;我们以前用new一个对象的方式自己创建一个对象&#xff0c;现在使用spring&#xff0c;不必自己new一个对象了&#xff0c…

PL/SQL集合类型的整理学习

http://log-cd.iteye.com/blog/521177 PL/SQL集合类型是类似于高级语言数组的一种复合数据类型&#xff0c;集合类型包括索引表&#xff08;PL/SQL表&#xff09;、嵌套表&#xff08;Nested Table&#xff09;和变长数组&#xff08;VARRAY&#xff09;三种类型。<一>、…

多条件组合查询+分页

比较麻烦&#xff0c;把他记录下来。前台UI&#xff1a;实现的类代码:程序代码/// <summary>/// 多条件组合查询/// </summary>/// <param name"suppliercode">供应商代码</param>/// <param name"materialcode">物料代码&l…

Matlab与线性代数 -- 矩阵的重组1

本图文介绍了矩阵重组的第一种情况用新的行或列取代原有矩阵的行或列。

工作中感受到的消息中间件在分布式系统中的使用场景

经历 以前在qunar实习&#xff0c;第一次接触消息中间件&#xff0c;那时候概念还不清楚&#xff0c;朦朦胧胧有个初步认识&#xff0c;现在正式工作了&#xff0c;又一次接触了消息中间件&#xff0c;初步总结几种场景。 场景 1.分布式系统中&#xff0c;不同系统之间传递消…

sql server 2005分页存储过程和sql server 2000分页存储过程(摘)

USE[svnhost]GO/****** 对象: StoredProcedure [dbo].[up_Page2005] 脚本日期: 05/21/2008 11:27:05 ******/SETANSI_NULLS ONGOSETQUOTED_IDENTIFIER ONGOCREATEproc[dbo].[up_Page2005]TableNamevarchar(50), --表名Fieldsvarchar(5000) *, --字段名(全部字段为…

topcoder srm 691 div1 -3

1、给定一个$n$个顶点$n$个边的图&#xff0c;边是$(i,a_{i})$&#xff0c;顶点编号$[0,n-1]$。增加一个顶点$n$,现在选出一个顶点集$M$,对于任意的在$M$中 的顶点$x$&#xff0c;去掉边$(x,a_{x})$&#xff0c;增加边$(x,n)$。最后使得顶点0和1相连。有多少种$M$? 思路&#…

Matlab与线性代数 -- 矩阵的重组2

本图文详细介绍了矩阵重组的第二种情况任意两行或两列进行对换。

mac通过tree源码编译安装tree

通过tree源码编译安装 下载源码&#xff1a;curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz 解压源码&#xff1a;tar xzvf tree-1.6.0.tgz 修改Makefile文件&#xff1a; tree默认的是linux的编译环境&#xff0c;因此移植到mac里面需要注释掉linux的编译选项&am…

java IO流文件的读写具体实例

IO流的分类&#xff1a;1、根据流的数据对象来分&#xff1a;高端流&#xff1a;所有的内存中的流都是高端流&#xff0c;比如&#xff1a;InputStreamReader 低端流&#xff1a;所有的外界设备中的流都是低端流&#xff0c;比如InputStream&#xff0c;OutputStream 如何区分…

Matlab与线性代数 -- 矩阵的重组3

本图文详细介绍了矩阵重组的第三种情况&#xff0c;从矩阵中选取子矩阵。

ASP.NET小收集:IFrame使用

使用Iframe制作一个固定框架&#xff0c;很方便与象后台网站之类的页面1<html xmlns"http://www.w3.org/1999/xhtml">2<head runat"server">3<title>后台</title>4</head>5<frameset cols"170,*"framespacing&…

linux mac中实现类似secureCRT的clone session

在你的登录账户下的.ssh文件夹新建一个文件&#xff1a;config. cd ~/.ssh vi config config的文件中&#xff0c;内容为&#xff1a; host * ControlMaster auto ControlPath ~/.ssh/master-%r%h:%p 重新打开终端&#xff0c;第一次&#xff0c;你还是需要输入密码&#xff0c…

C#动态加载DLL(转)

利用反射进行动态加载和调用.Assembly assAssembly.LoadFrom(DllPath); //利用dll的路径加载加载dll后,需要使用dll中某类.Type typeass.GetType(“TypeName”);//利用类型的命名空间和名称获得类型需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略…

mysql高可用之MMM

博主QQ&#xff1a;819594300博客地址&#xff1a;http://zpf666.blog.51cto.com/有什么疑问的朋友可以联系博主&#xff0c;博主会帮你们解答&#xff0c;谢谢支持&#xff01;一、MMM简介&#xff1a;MMM即Multi-MasterReplication Manager for MySQL:mysql多主复制管理器。M…

Matlab与线性代数 -- 矩阵的重组4

本图文详细描述了矩阵重组的第四种情况&#xff0c;将矩阵改写成行向量或者列向量。

利用spring aop统一处理异常和打日志

利用spring aop统一处理异常和打日志 spring aop的概念&#xff0c;很早就写博客介绍了&#xff0c;现在在工作中真正使用。 我们很容易写出的代码 我们很容易写出带有很多try catch 和 logger.warn(),logger.error()的代码&#xff0c;这样一个方法本来的业务逻辑只有5行&a…

Matlab与线性代数 -- 矩阵的重组5

本图文详细介绍了矩阵重组的Matlab命令reshape()。

windows XP下Python2.7包管理工具安装-setuptool,pip、distribute、nose、virtualenv

在Python开发中为了对项目进行管理和调试。必须安装一些特定的软件包。据说业内这个叫做yak shaving-做一个非常酷非常绚丽的Python项目之前&#xff0c;必须做的一些枯燥无味的准备工作。本文介绍了setuptool。pip、distribute、nose、virtualenv的安装。 1&#xff0c;pytho…

黑客必知的SQL语句 黑客知道,程序员必知

SQL语句先前写的时候&#xff0c;很容易把一些特殊的用法忘记&#xff0c;我特此整理了一下SQL语句操作。 一、基础 1、说明&#xff1a;创建数据库 Create DATABASE database-name 2、说明&#xff1a;删除数据库 drop database dbname 3、说明&#xff1a;备份sql server --…

AutowireCapableBeanFactory,实现不必配置xml文件,动态加载bean

场景 今天遇见一个问题&#xff0c;如何能做到一个类&#xff0c;没有在spring的配置文件中配置&#xff0c;但是还能通过某种方式加载进来。通过查看一些代码&#xff0c;查看stackoverflow&#xff0c;了解了一些知识。 如果一个类并没有在applicationContext中配置我们可以…

[导入]如何理解Return的返回值?

如何理解Return的返回值&#xff1f; 问题&#xff1a; 在创建和录制脚本的时候&#xff0c;发现在脚本vuser_init、Action、vuser_end三部分&#xff0c;都会有一条“return 0;”语句&#xff0c;那么我们平时在编写脚本时如何应用return语句&#xff0c;return不同的返回值又…

如何利用神经网络结合遗传算法进行非线性函数极值寻优(2)

如何利用神经网络结合遗传算法进行非线性函数极值寻优

自己亲自写的两本linux资料,免费下载,pdf文档

第一本是我写的韩顺平老师解说的linux视频的笔记&#xff0c;该视频原本有21讲&#xff0c;可是我始终没有找到当中的17、18讲。可是其它部分我感觉及记录的还是蛮认真的。该套视频解说的非常基础&#xff0c;因此我的这本笔记也非常基础。这里是免积分在csdn上的下载地址&…

深入理解Java:SimpleDateFormat安全的时间格式化

转自&#xff1a;http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类&#xff0c;该类用来对日期字符串进行解析和格式化输出&#xff0c;但如果使用不小心会导致非常微妙和难以…