二期修改SimpleCalendar为日历记事插件,并修复多个bug,带农历、节假日。

一、效果图:

二、Simple-Calendar插件的使用方法

1、引入资源

(1). 使用日历插件前首先要引用资源:JS和CSS

说明:由于提示需要用到弹框插件,这里选择了项目已带的插件layui。

<!--引入css-->
<link rel="stylesheet" type="text/css" href="./stylesheets/simple-calendar.css?v=1.01">
<link rel="stylesheet" type="text/css" href="../js/layui-v2.2.3/css/layui.css"><!--引入js-->
<script type="text/javascript" src="./javascripts/jquery-2.1.4.js"></script>
<script type="text/javascript" src="../js/layui-v2.2.3/layui.js"></script>
<script type="text/javascript" src="./javascripts/simple-calendar.js"></script>
<script type="text/javascript" src="./javascripts/main.js"></script>

2、初始化一个日历

(1). 首先为calendar准备一个容器,可以限定容器大小。

<div id='container'></div>
<script>var myCalendar = new SimpleCalendar('#container');
</script>

这样一个日历就诞生了 ^-^

3、配置项说明

(1). 简单的配置项:

var options = {width: '500px',height: '500px',language: 'CH', //语言showLunarCalendar: true, //阴历showHoliday: false, //休假-需要改js,这里没用到先禁用showFestival: true, //节日showLunarFestival: true, //农历节日showSolarTerm: true, //节气showMark: true, //标记realTime: true, //实时时间timeRange: {startYear: 1900,endYear: 2049},timeZone: "", //时区mark: {},markColor: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],//记事的各个颜色main: function (year, month) {},theme: {changeAble: false,weeks: {backgroundColor: '#FBEC9C',fontColor: '#4A4A4A',fontSize: '20px'},days: {backgroundColor: '#ffffff',fontColor: '#565555',fontSize: '24px'},todaycolor: 'orange',activeSelectColor: 'orange',invalidDays: '#C1C0C0'}
}

(2). 关于数据:

当用户选择了年月后,源js会返回一个回调方法,也就是上面的main。

main: function (year, month) {// alert("[获取数据]" + year + "--->" + month);var index = -1;if (layer) index = layer.msg('正在查询数据......', {icon: 16, shade: 0.6});//@-这里获取数据:console.log(year + "--->" + month);//模拟获取数据startvar resultObj = {}, status = ['待揽收', '已发货', '配送中', '已签收'];for (var i = 1; i <= 28; i++) {var array = [];var date = year + "-" + month + "-" + (i < 10 ? '0' + i : i);for (var num = 0; num <= i % 4; num++)array.push({title: '第' + (num + 1) + '个货区某个快递在该天需要处理的事情呀呀呀',name: '某区',ratio: (num + 1) * (num + 1) + '%',status: num,statusText: status[num]});resultObj[date] = i == 27 ? [] : array;}console.log(resultObj);//模拟获取数据endif (layer) layer.close(index);return resultObj;
},

其中,回调了年和月,可做成通过年和月去接口查询数据,返回格式请运行后自查。

4、国际化

language: 语言的话目前只支持中文和英文,分别对应'CH','EN'

如果想要加更多的语言或者更改现在的显示,可以直接更改languageData内容

5、节日显示配置

showLunarCalendar: true, //是否显示阴历日期
showHoliday: true,       //是否显示休假休假
showFestival: true,      //是否显示国际节日
showLunarFestival: true, //是否显示农历节日
showSolarTerm: true,     //是否显示节气
showMark: true,          //是否显示标记日期

6、时间范围

这个时间范围设置的是下拉框中的年数范围

timeRange: {startYear: 2002,endYear: 2049
}

7、标记日期(记事)

标记日期配置只有在 showMark 为 true 时才会生效

mark: {'2019-11-01': []
}

这样就会在日历的对应日期上面添加标记,当鼠标停留时显示输入的信息

8、主题配置

theme: {changeAble: false,weeks: {backgroundColor: '#FBEC9C',fontColor: '#4A4A4A',fontSize: '20px',},days: {backgroundColor: '#ffffff',fontColor: '#565555',fontSize: '24px'},todaycolor: 'orange',activeSelectColor: 'orange',
}

主题配置只有在changeAble 为 true 时才会生效 weeks 设置的是星期一栏的主题,分别对应背景颜色,字体颜色,字体大小 days 设置的是日期的主题,参数同上 todaycolor 设置的是当天的日期背景颜色 activeSelectColor 设置的是鼠标滑过事件对应日期的边框颜色

9、事件接口说明

myCalendar.updateSize('500px', '500px');
myCalendar.addMark('2016-3-7', 'test');
myCalendar.setLanguage('EN')
myCalendar.showFestival(false);
myCalendar.showLunarCalendar(false);
myCalendar.showHoliday(false);
myCalendar.showSolarTerm(false);
myCalendar.showLunarFestival(false);
myCalendar.showMark(false);
updateSize(width,height)

10、其他

//关闭或者显示国际节日
showFestival(false);
//关闭或者显示阴历日期
showLunarCalendar(false);
//关闭或者显示假期
showHoliday(false);
//关闭或者显示二十四节气
showSolarTerm(false);
//关闭或者显示阴历节日
showLunarFestival(false);
//关闭或者显示标记
showMark(false)

三、附件1-修复原SimpleCalendar插件的几个bug

1、农历全部都显示初undefined? 字符计算问题,s += this.nStr1[Math.floor(d % 10)];

2、修复最大最小年份的有效控制;

3、修复一个月42天6行的显示问题,并加了显示判断;

4、修复了一个格子显示不下时超长问题。

四、附件2-新增了功能

1、新增日历上的记事功能;

2、新增记事状态栏:

(1). 点击状态栏显示隐藏相对的记事项;

(2). 状态栏颜色可以配置(通过markColor数组)

3、新增对记事的弹框提示功能(layui的layer);

五、附件3-不足之处

1、不支持标题的条件扩展,比如我要加快递负责人筛选。

2、宽高适应度还不够。

3、休假功能不完善,都在js的文末写死了(本功能没用到,就禁用啦啦啦:showHoliday=false)

六、附件4-分享几个效果:

随缘进步,按需所改,按意文记,惶恐忘记,亦助他人。

七、附件5-源代码

个人源代码:https://download.csdn.net/download/qq_26599807/11986249

(如下载使用,请注意引入自己的相关js和css哦 ^_^)


The end......

jQuery日历记事插件SimpleCalendar(附源代码)相关推荐

  1. 日历签到html模板,简洁的jQuery日历签到插件

    插件描述:jQuery简洁的日历签到插件 采用div+css3设计日历,POST提交签到,jQuery日历签到表,日期签到表,能每日签到打勾的日历. 更新时间:2021-05-10 01:37:44/ ...

  2. jquery日历插件 途牛_jquery日历插件SimpleCalendar

    插件描述:多功能日历插件SimpleCalendar,带农历.节假日. 更新时间:2019-07-30 16:36:32 更新说明:修复显示undefined Simple-Calendar作用方法 ...

  3. html中字段是日期控件,jQuery日历插件datepicker用法详解

    jQuery是一款不可多得的非常优秀的javascript脚本开发库,而基于其上的很多插件也是非常规范和卓越的,如果错过这番美景真是太可惜了,比如datepicker这个插件. 一般MIS系统的前端, ...

  4. 给开发者准备的 10 款最好的 jQuery 日历插件

    1. CLNDR.js CLNDR.js 是一个日历插件,用来创建日历,允许用户随意的按照自己的想法去自定义日历.这个插件不会生成任何的标记,但是可以使用数据来填 充 Underscore.js HT ...

  5. 11个实用jQuery日历插件

    1. FullCalendar FullCalendar是很出名的jQuery日历插件,它支持拖拽等功能,整合了Google Calendar,而且可以通过JSON来绑定事件,设计师可以轻松地自定义日 ...

  6. 基于jQuery日历插件制作日历

    这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

  7. 这些年,我们无法忘却的jQuery日历插件

    2019独角兽企业重金招聘Python工程师标准>>> CLNDR.js CLNDR.js是一个可创建日历的jQuery插件,支持自定义.该插件不会生成任何标记,而是使用Unders ...

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

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

  9. 基于jquery+php+mysql 制作 仿google日历记事

    转载:基于jquery+php+mysql 制作 仿google日历记事 download: 本帖隐藏的内容  仿google日历记事.zip (33.55 KB, 下载次数: 0) 原帖地址:htt ...

最新文章

  1. Juniper批量新增用户命令工具
  2. JAVA的静态代理与动态代理比较--转载
  3. 二、Git多人开发:不同人修改了不同文件如何处理
  4. C语言怎样编程分子变化,C语言经典编程(一)
  5. java notify 指定_java的notify/notifyAll:如何notify指定的线程?
  6. 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细
  7. docker访问宿主机mysql_docker容器内访问宿主机127.0.0.1服务
  8. sam卡和sim卡区别_SAM卡槽是不是和SIM卡槽是一个东西,有高人知道么?
  9. window下hive的安装
  10. 2022阿里笔试分享(2022.3.25)
  11. ipadpro编写java代码_iPad Pro变生产力工具,你还缺个轻量级浏览器端代码编辑器...
  12. java去处科学技术法,java撤销科学计数法
  13. 实训任务4:Hadoop综合操作
  14. 常见知识库对比:DBpedia/Freebase/OpenCyc/Wikidata/YAGO3
  15. 转专业申请麦吉尔大学计算机,加拿大大学转专业申请秘籍
  16. STM32的SPI及IIC
  17. AMD、ARM、Intel、Qualcomm
  18. HIT-ICS大作业-程序人生Hello‘s P2P
  19. Ubuntu查看系统的各种版本信息
  20. 网页会屏蔽php代码,网站屏蔽360浏览器访问php源码js代码

热门文章

  1. jQuery lightBox plugin 灯箱效果
  2. Stream之StreamwriterStreamReader
  3. QT开发:ImgTool小工具—图片训练集扩充
  4. i5四核八线程怎么样_8代酷睿首测 4核8线程!i5 8250U移动CPU
  5. vscode 添加eslint Fix all auto-fixable problems快捷键
  6. 远程答题选什么平台口碑好
  7. 远程答题的存在对于游戏工作室的重要性
  8. 快速打造企业员工积分福利系统,数字化福利管理增强员工凝聚力!
  9. 很遗憾,你们的问题我无法回答--Leo谈应届生求职(10)结局篇
  10. 硬盘物理故障解决方法之电路板损坏修复方案