失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > js日历控件html jQuery日历插件sys-calendar.js

js日历控件html jQuery日历插件sys-calendar.js

时间:2022-12-15 22:22:37

相关推荐

js日历控件html jQuery日历插件sys-calendar.js

插件描述:jQuery日历插件,自定义点击事件,记录信息,编辑假日安排等方法,使用简单

sys-calendar.js

jquery日历插件,自定义点击事件,记录信息,编辑假日安排等方法,使用简单,版本1.0

说明

该插件还使用了sysui.js框架插件进行配置,该js具体说明在以后会发布,请关注我的网站

基础引用

引入3个文件,一个css样式文件,两个js文件一个jquery库,另外一个就是日历插件的js

基础html

$("#calendar").calendar({

//参数设置

})

先为calendar准备一个容器,可以设置大小,也可以在options中设置,不设置的话自动设为默认

参数配置说明

$("#calendar").calendar({

data:data,//获取记录数据

holiday:holidaydata,//规划假日时间

work:workdata,//规划上班时间

mode:"month",//显示模式,month为月份详细显示,year为年显示

width:600,//日历宽度,如果不填则默认全屏模式

showModeBtn:false,//是否显示月/年却换模式

showEvent:true,//设置年份显示记录信息,为true显示每月记录信息,为false不显示记录信息

newDate:"-04-1",//设置初始开始时间,默认不填为当前时间

cellClick:function(data,Event,me){

//点击每天的处理方法,用户自己编辑方法

//data数据

//Event当前事件

//me方法集合

varmodule=document.body.querySelector(".calendar-box");

module?module.parentNode.removeChild(module):"";

if(data==undefined){

set.PromptBox("无历史记录",2,false);

}else{

varmun=data.length;

varbox=document.createElement("div");

box.id="calendar-box";

lay.el[0].appendChild(box).className="calendar-box";

for(vari=0;i

varmousename=document.createElement("a");

mousename.className="record_info";

mousename.href="javascript:;";

box.appendChild(mousename).innerHTML=data[i].name;

}

varlaybox=$(lay.el[0]).outerWidth();

varobjTop=lay.getOffsetTop(set.$('#calendar-box'));//对象x位置

varobjLeft=lay.getOffsetLeft(set.$('#calendar-box'));//对象y位置

varmouseX=me.clientX+document.body.scrollLeft;//鼠标x位置

varmouseY=me.clientY+document.body.scrollTop;//鼠标y位置

varobjX=mouseX-objLeft;

varobjY=mouseY-objTop;

box.style.cssText="display:block"+";left:"+objX+"px"+";"+"top:"+objY+"px";

varinfoh=$(".record_info").outerHeight()+10*mun;

varboxh=$(".calendar-box").outerHeight();

varboxgap=laybox-mouseX;

varboxw=$(box).outerWidth();

if(boxgap<=boxw){

box.style.cssText="display:block"+";left:"+(objX-boxw)+"px"+";"+"top:"+objY+"px";

}

if(infoh

box.style.cssText+='height:'+infoh+'px;';

}else{

box.style.cssText+='bottom:15px';

$(".calendar-box").niceScroll({

cursorcolor:"#dddddd",

cursoropacitymax:1,

touchbehavior:false,

cursorwidth:"3px",

cursorborder:"0",

cursorborderradius:"3px",

});

}

}

},

monthClick:function(Event,nextMonth,opts,me){

//Event当前事件nextMonth月份,opts参数,me集合

//点击月份的处理方法

//开始月份第一天

varstart=me._cloneDate(opts.newDate);

start.setDate(1);

//获取当前月的最后一天

vardate=newDate();

varnextMonthFirstDay=newDate(date.getFullYear(),nextMonth,1);

varoneDay=1000*60*60*24;

varend=newDate(nextMonthFirstDay-oneDay);

varstartDate=me.transferDate(start);//日期变换

varendDate=me.transferDate(end);//日期变换

varcycleData=[{

'name':"145",

'startDate':"-2-0915:31:29",

'type':"手机号"

},{

'name':"178956874",

'startDate':"-2-2315:31:29",

'type':"手机号"

}]//数据结构,以往记录数据,可通过ajax获取

me._refreshCalendar(opts.newDate,cycleData);//加载方法

}

})

基础配置插件方法,改为简答的示例

数据格式//记录保存格式

{

'name':"145",//名称

'startDate':"-3-0915:31:29",//时间

'type':"手机号"//类型

}

//假日格式

{

"holiday_name":"春节",//节日名称

"holiday_time":[

"-1-24",

"-1-25",

"-1-26",

"-1-27",

"-1-28",

"-1-29",

"-1-30",

"-1-31",

"-2-1",

"-2-2"

]//节日时间}

//工作时间格式

[

"-4-26",

"-5-9",

"-6-28",

"-9-27",

"-10-10"

]//直接编辑当前日期

json格式,该数据格式为定死的格式。

如果觉得《js日历控件html jQuery日历插件sys-calendar.js》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。