这是一款改造后的fullCalendar,这个样式是应用了主题的哦,你只要把我说的几个地方,复制样式名在相应的文件中搜索找到后改下就能实现这样的效果了。具体改了为今天设置背景为图片、事件背景插入了图片、标题是自定义的、星期没有显示了、左右按钮样式变了、点击左右按钮时日历高度没有变化了。附件是我实现后的效果图和改过的源码文件。
这些都是通过改源码才能实现的哦,下面我说明改哪些地方能实现哪些效果。
这是js要改的地方,实现功能:标题是自定义的、星期没有显示了
$(function(){
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar').fullCalendar({
header: {
left: 'prev',
center: 'title',
right: 'next'
},
theme:true,
monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthNamesShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
//dayNames: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
//dayNamesShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
//这里是设置无星期显示的
dayNames: ["", "", "", "", "", "", ""],
dayNamesShort: ["", "", "", "", "", "", ""],
editable: false,
disableResizing:false,
//这里是设置标题自定义的,我设置为“个人日程安排”了
titleFormat:{month: '个人日程安排 MMMM'},
events:function(start, end, callback) {
var urlR = baseURL+"/toJsonForCalandar.do?index=shouye";
$.ajax({
url: urlR,
cache:false,
success:function(data) {
//给日历增加事件
var events = [];
var info = eval(data);
for (var i = 0; i < info.length; i++) {
var ev = info[i];
var evtstart=formatJson(ev.startTime.time);
events.push({
title:"",
start:evtstart
//这里换事件的背景颜色
// backgroundColor:"red"
});
}
callback(events);
}
})
},eventClick: function(calEvent, jsEvent, view) {
var url=baseURL+"/kinth/daily/perschedule/perscheduleByCalMain.jsp?type=false";
showPer = showModalDialog(url, '查看日程', 'dialogWidth:1000px;dialogHeight:800px;dialogLeft:280;dialogTop:180;scroll:no;');
},dayClick:function(date, allDay, jsEvent, view){
//$(this).css({color: "red", background: "blue" });
//$(this).removeClass("ui-widget-content");
var url = baseURL+"/kinth/daily/perschedule/perscheduleMainLeader.jsp";
newPer = showModalDialog(url, window, 'dialogWidth:1200px;dialogHeight:720px;dialogLeft:280;dialogTop:180;scroll:no;');
}
});
});
改fullCalendar.css,实现的功能:为今天设置背景为图片、事件背景插入了图片、左右按钮样式变了、点击左右按钮时日历高度没有变化了。
/*这样式的效果是当你点击左右按钮的时候,日历文本区的高度不会随之变动,因为固定了为10px,如果
想设置文本行间的高度可以在上面的js中加入配置contentHeight: 高度值*/
.fc-grid .fc-day-content {
/*clear: both;*/
padding: 2px 2px 1px; /* distance between events and day edges */
height:10px;
}
/*更改今天的背景为图片*/
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
/*border: 1px solid #fcefa1 {borderColorHighlight}*/;
background: #ffffff/*{bgColorHighlight}*/
url(images/bg_today.png)/*{bgImgUrlHighlight}*/
50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/
no-repeat/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; }
/*更改有日程事件的背景为图片*/
/* Global Event Styles
------------------------------------------------------------------------*/
.fc-event {
border: 0px; /* default BORDER color */
/*background-color: #3a87ad; default BACKGROUND color */
background-image:url('../images1/bg_work.png');
background-repeat:no-repeat;
color: #fff; /* default TEXT color */
font-size: .85em;
cursor: default;
}
/*这个是我自己加的,用来设置背景图片的位置,要把此样式加到fullcalendar.min.js文件中
如:
function i() {
Q = t("<div class='position1' style='position:absolute;z-index:8;top:4;left:10'/>").appendTo(e);
}
*/
.position1{
top:4px;
left:15px;
}
/*处理点击左右按钮的时候会动的现象,把那行样式注释掉*/
.fc-header .fc-button {
/*margin-bottom: 1em; */
vertical-align: top;
}
/*文件jquery.ui.theme.css中,去掉点左右按钮的样式,删除下面样式即可*/
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #99ACBA/*{borderColorDefault}*/;
background: #D0E6F4/*{bgColorDefault}*/ url()/*{bgImgUrlDefault}*/
50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/
repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/;
color: #555555/*{fcDefault}*/; }