为什么全球化在web.config中做fullcalendar events不渲染事件

FullCalendar可以灵活运用到项目开发中,本站上一篇文章中,我们介绍了如何在FullCalendar新建日程事件,今天我要给大家介绍的是如何在FullCalendar中编辑和删除日程事件,这样我们就完成了FullCalendar上的&增删改查&一系列操作。
$(function() {
$('#calendar').fullCalendar({
//单击事件项时触发
eventClick: function(calEvent, jsEvent, view) {
$.fancybox({
'type':'ajax',
'href':'event.php?action=edit&id='+calEvent.id
function editform($id){
$query = mysql_query(&select * from calendar where id='$id'&);
$row = mysql_fetch_array($query);
$id = $row['id'];
$title = $row['title'];
$starttime = $row['starttime'];
$start_d = date(&Y-m-d&,$starttime);
$start_h = date(&H&,$starttime);
$start_m = date(&i&,$starttime);
$endtime = $row['endtime'];
if($endtime==0){
$end_d = $
$end_chk = '';
$end_display = &style='display:none'&;
$end_d = date(&Y-m-d&,$endtime);
$end_h = date(&H&,$endtime);
$end_m = date(&i&,$endtime);
$end_chk = &checked&;
$end_display = &style=''&;
$allday = $row['allday'];
if($allday==1){
$display = &style='display:none'&;
$allday_chk = &checked&;
$display = &style=''&;
$allday_chk = '';
&link rel=&stylesheet& type=&text/css& href=&css/jquery-ui.css&&
&div class=&fancy&&
&h3&编辑事件&/h3&
&form id=&add_form& action=&do.php?action=edit& method=&post&&
&input type=&hidden& name=&id& id=&eventid& value=&&?php echo $?&&&
&p&日程内容:&input type=&text& class=&input& name=&event& id=&event& style=&width:320px&
placeholder=&记录你将要做的一件事...& value=&&?php echo $?&&&&/p&
&p&开始时间:&input type=&text& class=&input datepicker& name=&startdate&
id=&startdate& value=&&?php echo $start_d;?&& readonly&
&span id=&sel_start& &?php echo $?&&&select name=&s_hour&&
&option value=&&?php echo $start_h;?&& selected&&?php echo $start_h;?&&/option&
&option value=&00&&00&/option&
...//这里省略多个option,下同
&/select&:
&select name=&s_minute&&
&option value=&&?php echo $start_m;?&& selected&&?php echo $start_m;?&&/option&
&option value=&00&&00&/option&
&p id=&p_endtime& &?php echo $end_?&&结束时间:&input type=&text& class=&input datepicker&
name=&enddate& id=&enddate& value=&&?php echo $end_d;?&& readonly&
&span id=&sel_end&
&?php echo $?&&&select name=&e_hour&&
&option value=&&?php echo $end_h;?&& selected&&?php echo $end_h;?&&/option&
&/select&:
&select name=&e_minute&&
&option value=&&?php echo $end_m;?&& selected&&?php echo $end_m;?&&/option&
&label&&input type=&checkbox& value=&1& id=&isallday& name=&isallday& &?php echo $allday_?&&
全天&/label&
&label&&input type=&checkbox& value=&1& id=&isend& name=&isend& &?php echo $end_?&& 结束时间&/label&
&div class=&sub_btn&&&span class=&del&&&input type=&button& class=&btn btn_del& id=&del_event&
value=&删除&&&/span&&input type=&submit& class=&btn btn_ok& value=&确定&&
&input type=&button& class=&btn btn_cancel& value=&取消& onClick=&$.fancybox.close()&&&/div&
$(function(){
$(&.datepicker&).datepicker({minDate: -3,maxDate: 3});
$(&#isallday&).click(function(){
if($(&#sel_start&).css(&display&)==&none&){
$(&#sel_start,#sel_end&).show();
$(&#sel_start,#sel_end&).hide();
$(&#isend&).click(function(){
if($(&#p_endtime&).css(&display&)==&none&){
$(&#p_endtime&).show();
$(&#p_endtime&).hide();
$.fancybox.resize();//调整高度自适应
//提交表单
$('#add_form').ajaxForm({
beforeSubmit: showRequest, //表单验证
success: showResponse //成功返回
function showRequest(){
var events = $(&#event&).val();
if(events==''){
alert(&请输入日程内容!&);
$(&#event&).focus();
function showResponse(responseText, statusText, xhr, $form){
if(statusText==&success&){
if(responseText==1){
$.fancybox.close();
$('#calendar').fullCalendar('refetchEvents'); //重新获取所有事件数据
alert(responseText);
alert(statusText);
include_once('connect.php');//连接
$action = $_GET['action'];
if($action=='add'){
//新建事件
}elseif($action==&edit&){
//编辑事件
$id = intval($_POST['id']);
if($id==0){
echo '事件不存在!';
$events = stripslashes(trim($_POST['event']));//事件内容
$events=mysql_real_escape_string(strip_tags($events),$link); //过滤HTML标签,并转义特殊字符
$isallday = $_POST['isallday'];//是否是全天事件
$isend = $_POST['isend'];//是否有结束时间
$startdate = trim($_POST['startdate']);//开始日期
$enddate = trim($_POST['enddate']);//结束日期
$s_time = $_POST['s_hour'].':'.$_POST['s_minute'].':00';//开始时间
$e_time = $_POST['e_hour'].':'.$_POST['e_minute'].':00';//结束时间
if($isallday==1 && $isend==1){
$starttime = strtotime($startdate);
$endtime = strtotime($enddate);
}elseif($isallday==1 && $isend==&&){
$starttime = strtotime($startdate);
$endtime = 0;
}elseif($isallday==&& && $isend==1){
$starttime = strtotime($startdate.' '.$s_time);
$endtime = strtotime($enddate.' '.$e_time);
$starttime = strtotime($startdate.' '.$s_time);
$endtime = 0;
$isallday = $isallday?1:0;
mysql_query(&update `calendar` set `title`='$events',`starttime`='$starttime',`endtime`='$endtime',
`allday`='$isallday' where `id`='$id'&);
if(mysql_affected_rows()==1){
echo '出错了!';
}elseif($action==&del&){
//删除事件
在event.php中还应该加上一段js:
$(function(){
//删除事件
$(&#del_event&).click(function(){
if(confirm(&您确定要删除吗?&)){
var eventid = $(&#eventid&).val();
$.post(&do.php?action=del&,{id:eventid},function(msg){
if(msg==1){//删除成功
$.fancybox.close();
$('#calendar').fullCalendar('refetchEvents'); //重新获取所有事件数据
alert(msg);
}elseif($action==&del&){//删除
$id = intval($_POST['id']);
if($id&0){
mysql_query(&delete from `calendar` where `id`='$id'&);
if(mysql_affected_rows()==1){
echo '出错了!';
echo '事件不存在!';
也许你会喜欢和关注与本文内容高度相关的文章:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)FullCalendar display events on dayClick [fullcalendar显示事件对dayclick] - 问题-字节技术
FullCalendar display events on dayClick
fullcalendar显示事件对dayclick
问题 (Question)
The dayClick in fullCalendar is defined as:
dayClick: function (start, allDay, jsEvent, view) {
alert('You clicked me!');
This is triggered when the user clicks on a day.
I wanted to access data of events when a user clicks on a particular day. Sort of merging the eventClick function in dayClick so that when I click on a particular day, I get the event title, starttime, endtime of all events occurring that particular day.
的dayClick在fullcalendar定义为:dayClick: function (start, allDay, jsEvent, view) {
alert('You clicked me!');
这是触发时,用户点击的一天。我想访问数据的事件,当用户点击一个特殊的日子。合并eventclick功能dayclick这样当我点击一个特定的日子,我开始时间到事件的标题,那特别的一天,发生的所有事件的结束时间。
最佳答案 (Best Answer)
I hope this help
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 0, 0, 0).getTime();
var endDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 23, 59, 59).getTime();
var cache = new Date().getTime();
$.getJSON("/json-events.php?start="+startDate+"&end="+endDate+"&_="+cache,
function(data) {
// do stuff with the JSOn data
我希望这些能帮助你$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 0, 0, 0).getTime();
var endDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 23, 59, 59).getTime();
var cache = new Date().getTime();
$.getJSON("/json-events.php?start="+startDate+"&end="+endDate+"&_="+cache,
function(data) {
// do stuff with the JSOn data
答案 (Answer) 2
You can try this:
eventClick: function(xEvent, jsEvent, view) {
alert("Title: " + xEvent.title
//Get the event title
+ "\n StartTime: " + xEvent.start
//Get the event start date
+ "\n EndTime: " + xEvent.end
//Get the event end date
console.log(xEvent); //See your console for all event properties/objects
properties/object lists.
你可以试试这个:eventClick: function(xEvent, jsEvent, view) {
alert("Title: " + xEvent.title
//Get the event title
+ "\n StartTime: " + xEvent.start
//Get the event start date
+ "\n EndTime: " + xEvent.end
//Get the event end date
console.log(xEvent); //See your console for all event properties/objects
性能/对象列表。
本文翻译自StackoverFlow,英语好的童鞋可直接参考原文:fullcalendar 日程控件 后台实时交互实现 (前端代码) - CNode技术社区
阳光,沙滩
FullCalendar v1.6.4 采用这个版本,官网下载地址及API
废话不多说,本人感觉前端效果很牛逼,所以用nodejs+mongodb保存数据。
加载及监听事件
$(document).ready(function() {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $('#calendar').fullCalendar({
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
var title = prompt('Event Title:');
if (title) {
var params = {title: title,
start: start,
allDay: allDay
url:&/insertCalendar&,
type:&post&,
data:params,
dataType: 'json',
success: function(res){
if(res.status == 0){
$(&#success1&).html(&&strong&添加成功!&/strong&&);
$(&#success1&).show();
setTimeout(function(){$(&#success1&).hide();},3000);
$(&#err1&).html(&&strong&添加失败!&/strong&&);
$(&#err1&).show();
setTimeout(function(){$(&#err1&).hide();},3000);
$('#calendar').fullCalendar('refetchEvents');
err:function(res){
$(&#err1&).html(&&strong&操作有误!&/strong&&);
$(&#err1&).show();
setTimeout(function(){$(&#err1&).hide();},3000);
});//insert
editable: true,
events: function(start,end,callback){
var params = {};
url:&/findCalendar&,
type:&post&,
data:params,
dataType: 'json',
success: function(res){
var events =[];
if(res.status==0){
for(i in res.events){
if(res.events[i].allDay == false){
events.push({
id:res.events[i]._id,
title:res.events[i].title,
start:new Date(res.events[i].y_start,res.events[i].m_start,res.events[i].d_start,res.events[i].hh_start,res.events[i].mm_start),
end:new Date(res.events[i].y_end,res.events[i].m_end,res.events[i].d_end,res.events[i].hh_end,res.events[i].mm_end),
allDay:false
events.push({
id:res.events[i]._id,
title:res.events[i].title,
start:new Date(res.events[i].y_start,res.events[i].m_start,res.events[i].d_start),
end:new Date(res.events[i].y_end,res.events[i].m_end,res.events[i].d_end),
allDay:true
//$(&#success1&).html(events[0].start+&*_*&+events[0].end);
//$(&#success1&).show();
callback(events);
}catch(e){
hc(&div.fc-event&);
fc(&span.fc-button&);
} finally {
hc(&div.fc-event&);
fc(&span.fc-button&);
eventMouseover: function(event, jsEvent, view){ //监听不止一个元素!.fc-event及初始加载两个子元素均可能
var $h = $(jsEvent.target);
$h.attr(&_id&,event.id);
//eventDragStart
eventDragStop eventDrop
eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) {
if(allDay){
update_date(event,dayDelta);
updatetime_date(event,dayDelta,minuteDelta);
eventResize : function(event, dayDelta, minuteDelta, revertFunc, jsEvent, ui, view) {
//alert(dayDelta);
updatetime(event,dayDelta,minuteDelta);
对应的前端特效及处理ajax函数:
$(function(){
/var d = new Date();
d.setHours(d.getHours() + 2);
$(’#calendar’).fullCalendar( ‘addEventSource’, [{title:“add”,start:new Date(),end:d}] )/
var hc = function(t){
$(t).each(function(){
var $this = $(this);
if(!$this.data(“hc”)){
$this.css(“z-index”,-1);
var width = $this.width(),height = $this.height();
var app = &&div class='xxcc alert alert-info' style='z-index:999;display:position:left:-1top:-37padding:5margin:0;width:&+80+&height:25'&&div style='width:80position:margin: 0'&&div class='fl'&&a class='btn btn-small btn-success' onclick='update(this,event);'&&i class='icon-edit'&&/i&&/a&&/div&&div class='fl' style='margin-left:15'&&a class='btn btn-small btn-warning' onclick='removeCalendar(this,event);'&&i class='icon-remove '&&/i&&/a&&/div&&/div&&/div&&;
//(width-10)
$this.append(app);
$this.data(&hc&,&hc&);
$this.hover(function(e){
$this.css(&z-index&,1);
$this.find(&.xxcc&).show();
},function(e){
$this.css(&z-index&,-1);
$this.find(&.xxcc&).hide();
var fc = function(t){
$(t).each(function(){
$(this).click(function(){
hc(“div.fc-event”);
var update = function(t,e){
e.stopPropagation();
var $this = $(t);
var title = prompt(‘Event Title:’);
if (title) {
var $fcev = $this.parentFath(&.fc-event&);
var _id=&&;
if(typeof ($fcev.attr(&_id&)) != “undefined”){
_id = $fcev.attr(&_id&);
$fcev.children().each(function(){
if(typeof $(this).attr(&_id&) !=“undefined”){
_id = $(this).attr(&_id&);
if(_id.length & 0){
params={_id:_id,title:title};
$.ajax({url:&/updateCalendar&,
type:“post”,
data:params,
dataType: ‘json’,
success: function(res){
$(&#success1&).html(&&strong&修改成功&/strong&&);
$(&#success1&).show();
setTimeout(function(){
$(&#success1&).hide();
$(’#calendar’).fullCalendar(‘refetchEvents’);
$(&#err1&).html(&&strong&请再重试一次,如果多次操作不成功,请联系管理员&/strong&&);
$(&#err1&).show();
setTimeout(function(){
$(&#err1&).hide();
var update_date = function(event,dayDelta){
var event =
}catch(e){
$(&#err1&).html(&&strong&操作有误!&/strong&&);
$(&#err1&).show();
setTimeout(function(){
$(&#err1&).hide();
var dayDelta =dayD
var params = {_id:event.id,dayDelta:dayDelta};
$.ajax({url:&/updateDateCalendar&,
type:“post”,
data:params,
dataType: ‘json’,
success: function(res){
$(&#success1&).html(&&strong&日期更改成功&/strong&&);
$(&#success1&).show();
setTimeout(function(){
$(&#success1&).hide();
$(’#calendar’).fullCalendar(‘refetchEvents’);
var updatetime_date = function(event,dayDelta,minuteDelta){
var event =
}catch(e){
$(&#err1&).html(&&strong&操作有误!&/strong&&);
$(&#err1&).show();
setTimeout(function(){
$(&#err1&).hide();
var dayDelta = dayDelta || 0;
var minuteDelta = minuteDelta ||0;
var params = {_id:event.id,start:event.start,dayDelta:dayDelta,minuteDelta:minuteDelta};
$.ajax({url:&/updateDateTimeCalendar&,
type:“post”,
data:params,
dataType: ‘json’,
success: function(res){
$(&#success1&).html(&&strong&时间日期更改成功&/strong&&);
$(&#success1&).show();
setTimeout(function(){
$(&#success1&).hide();
$(’#calendar’).fullCalendar(‘refetchEvents’);
var updatetime = function(event,dayDelta,minuteDelta){
var event =
}catch(e){
$(&#err1&).html(&&strong&操作有误!&/strong&&);
$(&#err1&).show();
setTimeout(function(){
$(&#err1&).hide();
var dayDelta = dayDelta || 0;
var minuteDelta = minuteDelta ||0;
var params = {_id:event.id,start:event.start,dayDelta:dayDelta,minuteDelta:minuteDelta};
$.ajax({url:&/updateTimeCalendar&,
type:“post”,
data:params,
dataType: ‘json’,
success: function(res){
$(&#success1&).html(&&strong&时间更改成功&/strong&&);
$(&#success1&).show();
setTimeout(function(){
$(&#success1&).hide();
$(’#calendar’).fullCalendar(‘refetchEvents’);
var removeCalendar = function(t,e){
e.stopPropagation();
var $this = $(t);
var $fcev = $this.parentFath(&.fc-event&);
var _id=&&;
if(typeof ($fcev.attr(&_id&)) != “undefined”){
_id = $fcev.attr(&_id&);
$fcev.children().each(function(){
if(typeof $(this).attr(&_id&) !=“undefined”){
_id = $(this).attr(&_id&);
if(_id.length & 0){
params={_id:_id};
$.ajax({url:&/removeCalendar&,
type:“post”,
data:params,
dataType: ‘json’,
success: function(res){
$(&#success1&).html(&&strong&删除成功&/strong&&);
$(&#success1&).show();
setTimeout(function(){
$(&#success1&).hide();
$(’#calendar’).fullCalendar(‘refetchEvents’);
$(&#err1&).html(&&strong&请再重试一次,如果多次操作不成功,请联系管理员&/strong&&);
$(&#err1&).show();
setTimeout(function(){
$(&#err1&).hide();
前端监听实现方式很多,采用插件几个监听,由于不会怎么上传图片,不会图片功能,等到会了这个功能附上图片。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的>> fullcalendar.min.js
fullcalendar.min.js ( 文件浏览 )
FullCalendar v1.4.8
/fullcalendar/
Use fullcalendar.css for basic styling.
For event drag & drop, requires jQuery UI draggable.
For event resizing, requires jQuery UI resizable.
Copyright (c) 2010 Adam Shaw
Dual licensed under the MIT and GPL licenses, located in
MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
Date: Sat Oct 16 17:10:03
(function(m,Z){
function fb(a){
m.extend(true,Pa,a)
}function Bb(a,b,f){
function h(e){
E();ea();M();H(e)
}function i(){
ya=b.theme?&ui&:&fc&;a.addClass(&fc&);b.isRTL&&a.addClass(&fc-rtl&);b.theme&&a.addClass(&ui-widget&);qa=m(&&div class='fc-content &+ya+&-widget-content' style='position:relative'/&&).prependTo(a);pa=new Cb(p,b);(ta=pa.render())&&a.prepend(ta);w(b.defaultView);m(window).resize(y);t()||s()
}function s(){
setTimeout(function(){
!F.start&&t()&&H()
}function j(){
m(window).unbind(&resize&,
y);pa.destroy();qa.remove();a.removeClass(&fc fc-rtl fc-ui-widget&)
}function l(){
return ca.offsetWidth!==0
}function t(){
return m(&body&)[0].offsetWidth!==0
}function w(e){
if(!F||e!=F.name){
g++;N();var q=F,J;if(q){
if(q.eventsChanged){
M();q.eventDirty=q.eventsChanged=false
}(q.beforeHide||gb)();Ra(qa,qa.height());q.element.hide()
}else Ra(qa,1);qa.css(&overflow&,&hidden&);if(F=ka[e])F.element.show();else F=ka[e]=new Ha[e](J=ua=m(&&div class='fc-view fc-view-&+e+&' style='position:absolute'/&&).appendTo(qa),
p);q&&pa.deactivateButton(q.name);pa.activateButton(e);H();qa.css(&overflow&,&&);q&&Ra(qa,1);J||(F.afterShow||gb)();g--
}function H(e){
g++;N();ma===Z&&E();if(!F.start||e||n&F.start||n&=F.end){
F.render(n,e||0);K(true);!b.lazyFetching||fa()?X():F.renderEvents(Y())
}else if(F.sizeDirty||F.eventsDirty||!b.lazyFetching){
F.clearEvents();F.sizeDirty&&K();!b.lazyFetching||fa()?X():F.renderEvents(Y())
}ia=a.outerWidth();F.sizeDirty=F.eventsDirty=pa.updateTitle(F.title);e=new De&=F.start&&
e&F.end?pa.disableButton(&today&):pa.enableButton(&today&);g--;F.trigger(&viewDisplay&,ca)
}function E(){
ma=b.contentHeight?b.contentHeight:b.height?b.height-(ta?ta.height():0)-Sa(qa[0]):Math.round(qa.width()/Math.max(b.aspectRatio,0.5))
}function K(e){
g++;F.setHeight(ma,e);if(ua){
ua.css(&position&,&relative&);ua=null
}F.setWidth(qa.width(),e);g--
}function y(){
if(!g)if(F.start){
var e=++d;setTimeout(function(){
if(e==d&&!g&&l())if(ia!=(ia=a.outerWidth())){
g++;P();F.trigger(&windowResize&,ca);g--
function P(){
ea();if(l()){
E();K();N();F.rerenderEvents();F.sizeDirty=false
}function ea(){
m.each(ka,function(e,q){
q.sizeDirty=true
}function S(){
M();if(l()){
F.clearEvents();F.renderEvents(Y());F.eventsDirty=false
}function M(){
m.each(ka,function(e,q){
q.eventsDirty=true
}function X(){
$(function(e){
F.renderEvents(e)
}function ga(e,q,J){
F.select(e,q,J===Z?true:J)
}function N(){
F&&F.unselect()
}function U(){
}function u(){
}function B(){
Ta(n,-1);H()
}function G(){
Ta(n,1);H()
}function k(){
}function c(e,q,J){
if(e instanceof Date)n=x(e);else hb(n,e,q,J);H()
}function A(e,q,J){
e!==Z&&Ta(n,e);q!==Z&&Ua(n,q);J!==Z&&O(n,J);H()
}function C(){
return x(n)
}function I(){
}function V(e,q){
if(q===Z)return b[e];if(e==&height&||e==&contentHeight&||e==&aspectRatio&){
b[e]=q;P()
}function r(e,q){
if(b[e])return b[e].apply(q||ca,Array.prototype.slice.call(arguments,2))
}var p=p.options=b;p.render=h;p.destroy=j;p.changeView=w;p.select=p.unselect=N;p.rerenderEvents=S;p.prev=U;p.next=u;p.prevYear=
B;p.nextYear=G;p.today=k;p.gotoDate=c;p.incrementDate=A;p.formatDate=function(e,q){
return Ja(e,q,b)
};p.formatDates=function(e,q,J){
return Va(e,q,J,b)
};p.getDate=C;p.getView=I;p.option=V;p.trigger=r;Db.call(p,b,f);var $=p.fetchEvents,fa=p.isFetchNeeded,Y=p.clientEvents,ca=a[0],pa,ta,qa,ya,F,ka={
},ia,ma,ua,d=0,g=0,n=new Dhb(n,b.year,b.month,b.date);b.droppable&&m(document).bind(&dragstart&,function(e,q){
var J=e.target,R=m(J);if(!R.parents(&.fc&).length){
var Q=b.dropAif(m.isFunction(Q)?
Q.call(J,R):R.is(Q)){
z=J;F.dragStart(z,e,q)
}).bind(&dragstop&,function(e,q){
F.dragStop(z,e,q);z=null
}function Cb(a,b){
function f(){
K=b.theme?&ui&:&fc&;var y=b.if(y)return E=m(&&table class='fc-header'/&&).append(m(&&tr/&&).append(m(&&td class='fc-header-left'/&&).append(i(y.left))).append(m(&&td class='fc-header-center'/&&).append(i(y.center))).append(m(&&td class='fc-header-right'/&&).append(i(y.right))))
}function h(){
E.remove()
}function i(y){
var P=m(&&tr/&&);m.each(y.split(& &),
function(ea){
ea&0&&P.append(&&td&&span class='fc-header-space'/&&/td&&);var S;m.each(this.split(&,&),function(M,X){
if(X==&title&){
P.append(&&td&&h2 class='fc-header-title'&&&/h2&&/td&&);S&&S.addClass(K+&-corner-right&);S=null
if(a[X])ga=a[X];else if(Ha[X])ga=function(){
N.removeClass(K+&-state-hover&);a.changeView(X)
S&&S.addClass(K+&-no-right&);var N;M=b.theme?Wa(b.buttonIcons,X):var U=Wa(b.buttonText,X);if(M)N=m(&&div class='fc-button-&+X+& ui-state-default'&&a&&span class='ui-icon ui-icon-&+
M+&'/&&/a&&/div&&);else if(U)N=m(&&div class='fc-button-&+X+& &+K+&-state-default'&&a&&span&&+U+&&/span&&/a&&/div&&);if(N){
N.click(function(){
N.hasClass(K+&-state-disabled&)||ga()
}).mousedown(function(){
N.not(&.&+K+&-state-active&).not(&.&+K+&-state-disabled&).addClass(K+&-state-down&)
}).mouseup(function(){
N.removeClass(K+&-state-down&)
}).hover(function(){
N.not(&.&+K+&-state-active&).not(&.&+K+&-state-disabled&).addClass(K+&-state-hover&)
},function(){
N.removeClass(K+&-state-hover&).removeClass(K+
&-state-down&)
}).appendTo(m(&&td/&&).appendTo(P));S?S.addClass(K+&-no-right&):N.addClass(K+&-corner-left&);S=N
});S&&S.addClass(K+&-corner-right&)
});return m(&&table/&&).append(P)
}function s(y){
E.find(&h2.fc-header-title&).html(y)
}function j(y){
E.find(&div.fc-button-&+y).addClass(K+&-state-active&)
}function l(y){
E.find(&div.fc-button-&+y).removeClass(K+&-state-active&)
}function t(y){
E.find(&div.fc-button-&+y).addClass(K+&-state-disabled&)
}function w(y){
E.find(&div.fc-button-&+y).removeClass(K+
&-state-disabled&)
}var H=H.render=f;H.destroy=h;H.updateTitle=s;H.activateButton=j;H.deactivateButton=l;H.disableButton=t;H.enableButton=w;var E=m([]),K
}function Db(a,b){
function f(c){
b.push(c);l(c,N)
}function h(c){
b=m.grep(b,function(A){
return A!=c
});G=m.grep(G,function(A){
return A.source!=c
}function i(c){
G=[];s(b,c)
}function s(c,A){
function C($,fa){
var Y=X();if(r!=Y)r.eventsDirty=if(I==U&&u&=Y.visStart&&B&=Y.visEnd){
if(m.inArray($,b)!=-1){
for(Y=0;Y&fa.Y++){
S(fa[Y]);fa[Y].source=
}G=G.concat(fa)
}--V||A&&A(G)
}var I=++U,V=c.length,r=X();u=x(r.visStart);B=x(r.visEnd);for(var p=0;p&c.p++)j(c[p],C)
}function j(c,A){
function C(r){
}function I(r){
}if(typeof c==&string&){
};V[a.startParam]=Math.round(u.getTime()/1E3);V[a.endParam]=Math.round(B.getTime()/1E3);if(a.cacheParam)V[a.cacheParam]=(new Date).getTime();P();m.ajax({
url:c,dataType:&json&,data:V,cache:a.cacheParam||false,success:I
}else if(m.isFunction(c)){
P();c(x(u),x(B),I)
}else C(c)
}function l(c,
}function t(){
}function w(){
var c=X();return!u||c.visStart&u||c.visEnd&B
}function H(c){
var A,C=G.length,I,V=X().defaultEventEnd,r=c.start-c._start,p=c.end?c.end-(c._end||V(c)):0;for(A=0;A&C;A++){
I=G[A];if(I._id==c._id&&I!=c){
I.start=new Date(+I.start+r);I.end=c.end?I.end?new Date(+I.end+p):new Date(+V(I)+p):I.title=c.I.url=c.I.allDay=c.allDI.className=c.classNI.editable=c.S(I)
}function E(c,A){
S(c);if(!c.source){
if(A)(c.source=b[0]).push(c);G.push(c)
function K(c){
if(!m.isFunction(c)){
var A=c+&&;c=function(I){
return I._id==A
}G=m.grep(G,c,true);for(C=0;C&b.C++)if(typeof b[C]==&object&)b[C]=m.grep(b[C],c,true)
G=[];for(var C=0;C&b.C++)if(typeof b[C]==&object&)b[C]=[]
}function y(c){
if(m.isFunction(c))return m.grep(G,c);else if(c){
c+=&&;return m.grep(G,function(A){
return A._id==c
}function P(){
k++||ga(&loading&,null,true)
}function ea(){
--k||ga(&loading&,null,false)
}function S(c){
c._id=c._id||(c.id===Z?&_fc&+
Eb++:c.id+&&);if(c.date){
if(!c.start)c.start=c.delete c.date
}c._start=x(c.start=Xa(c.start,a.ignoreTimezone));c.end=Xa(c.end,a.ignoreTimezone);if(c.end&&c.end&=c.start)c.end=c._end=c.end?x(c.end):if(c.allDay===Z)c.allDay=a.allDayDif(c.className){
if(typeof c.className==&string&)c.className=c.className.split(/\s+/)
}else c.className=[]
}var M=M.fetchEvents=i;M.refetchEvents=t;M.isFetchNeeded=w;M.addEventSource=f;M.removeEventSource=h;M.updateEvent=H;M.renderEvent=E;M.removeEvents=
K;M.clientEvents=y;M.normalizeEvent=S;var X=M.getView,ga=M.trigger,N=M.rerenderEvents,U=0,u,B,G=[],k=0;b.unshift([])
}function Fb(a,b){
function f(l,t){
Ua(l,t);l.setDate(1)
}l=x(l,true);l.setDate(1);t=Ua(x(l),1);var w=x(l),H=x(t),E=i(&firstDay&),K=i(&weekends&)?0:1;if(K){
va(w);va(H,-1,true)
}O(w,-((w.getDay()-Math.max(E,K)+7)%7));O(H,(7-H.getDay()+Math.max(E,K))%7);E=Math.round((H-w)/(ib*7));if(i(&weekMode&)==&fixed&){
O(H,(6-E)*7);E=6
}h.title=j(l,i(&titleFormat&));h.start=l;h.end=t;h.visStart=w;
h.visEnd=H;s(E,K?5:7,true)
}var h=h.render=f;Ya.call(h,a,b,&month&);var i=h.opt,s=h.renderBasic,j=b.formatDate
}function Gb(a,b){
function f(l,t){
t&&O(l,t*7);l=O(x(l),-((l.getDay()-i(&firstDay&)+7)%7));t=O(x(l),7);var w=x(l),H=x(t),E=i(&weekends&);if(!E){
va(w);va(H,-1,true)
}h.title=j(w,O(x(H),-1),i(&titleFormat&));h.start=l;h.end=t;h.visStart=w;h.visEnd=H;s(1,E?7:5,false)
}var h=h.render=f;Ya.call(h,a,b,&basicWeek&);var i=h.opt,s=h.renderBasic,j=b.formatDates
}function Hb(a,b){
function f(l,t){
t);i(&weekends&)||va(l,t&0?-1:1)
}h.title=j(l,i(&titleFormat&));h.start=h.visStart=x(l,true);h.end=h.visEnd=O(x(h.start),1);s(1,1,false)
}var h=h.render=f;Ya.call(h,a,b,&basicDay&);var i=h.opt,s=h.renderBasic,j=b.formatDate
}function Ya(a,b,f){
function h(d,g,n){
Y=d;ca=g;if(V=B(&isRTL&)){
r=-1;p=ca-1
}$=B(&firstDay&);fa=B(&weekends&)?0:1;var z=B(&theme&)?&ui&:&fc&,e=B(&columnFormat&),q=u.start.getMonth(),J=Ia(new Date),R,Q=x(u.visStart);if(F){
k();g=F.find(&tr&).if(Y&g)F.find(&tr:gt(&+
(Y-1)+&)&).remove();else if(Y&g){
d=&&;for(g=g;g&Y;g++){
d+=&&tr class='fc-week&+g+&'&&;for(R=0;R&R++){
d+=&&td class='fc-&+Da[Q.getDay()]+& &+z+&-state-default fc-new fc-da
(文件超长,未完全显示,请下载后阅读剩余部分)
展开> <收缩
下载源码到电脑,阅读使用更方便
还剩0行未阅读,继续阅读 ▼
Sponsored links
源码文件列表
温馨提示: 点击源码文件名可预览文件内容哦 ^_^
WebApplication4.sln935.00 B 15:19
WebApplication4.sln.docstates.suo2.01 kB 18:49
WebApplication4.suo24.50 kB 13:48
1.ico834.00 B 11:20
2.ico822.00 B 11:20
3.ico886.00 B 11:20
4.ico886.00 B 11:20
denny.json.dll5.50 kB 15:12
Newtonsoft.Json.dll371.00 kB 22:48
WebApplication4.dll6.50 kB 14:01
WebApplication4.pdb11.50 kB 14:01
denny.json.dll5.50 kB 15:12
Newtonsoft.Json.dll371.00 kB 22:48
Newtonsoft1.Json.dll345.00 kB 14:14
10.98 kB 13:51
45.89 kB 13:42
1.86 kB 13:42
Handler1.ashx99.00 B 13:42
2.84 kB 14:00
2.53 kB 13:51
75.92 kB 13:42
44.80 kB 13:42
DesignTimeResolveAssemblyReferencesInput.cache7.64 kB 14:01
ResolveAssemblyReference.cache9.22 kB 15:19
479.00 B 14:01
WebApplication4.dll6.50 kB 14:01
WebApplication4.pdb11.50 kB 14:01
PPG.ico9.90 kB 11:04
1.30 kB 13:41
Web.config1.94 kB 13:41
Web.Debug.config1.19 kB 13:41
Web.Release.config1.25 kB 13:41
WebApplication4.csproj4.83 kB 12:35
WebApplication4.csproj.user1.06 kB 12:35
Sponsored links
评价成功,多谢!
下载WebApplication4.zip
CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了
您的积分不足
支付宝优惠套餐快速获取 30 积分
10积分 / ¥100
30积分 / ¥200原价 ¥300 元
100积分 / ¥500原价 ¥1000 元
订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。
支付宝支付宝付款
微信钱包微信付款
更多付款方式:、
您本次下载所消耗的积分将转交上传作者。
同一源码,30天内重复下载,只扣除一次积分。
鲁ICP备号-3 runtime:Elapsed:29.785ms 27.69
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
^_^"呃 ...
Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧

我要回帖

更多关于 jquery fullcalendar 的文章

 

随机推荐