网页日历显示控件calendar3.1

关于日历控件,我做了好多次尝试,一直致力于开发一款简单易用的日历控件。我的想法是争取在引用这个控件后,用一行js代码就能做出一个日历,若在加点参数,就能自定义外观和功能丰富多彩的日历。Calendar 3.1是我初步满意的一个作品。

日历的常用场景有两种,一种是用在日期选择器里面,比如某个位置需要输入日期,点一下输入框会弹出一个日历以供选择日期;另一种是单纯的显示作用,在页面某个地方显示日历,一般起装饰作用,很多博客首页都会有这种日历。我前面的随笔介绍的都是第一种日历,而今天要介绍的Calendar 3.1是第二种日历。有兴趣的朋友可以去我的github主页上查看,https://github.com/dige1993/calendar.git

首先当然要看的是效果,先看一张素颜:

 

然后在调用过程中指定若干参数,可以定义出比较漂亮的日历,这里仅仅是演示,上一张红绿配的丑照:

在区域宽度小于200px的时候,会提示无法正常显示日历:

接下来看下这款控件的用法。

首先照例是引用jquery库和calendar-3.1-js,然后准备一个width>=200px的div,高度最好自适应内容,如果这个div的id为test,则只要一句calendar_init($("#test"));就能在div内显示日历了。代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Calendar 3.1</title>
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/calendar-3.1.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
    calendar_init($("#test"));//在id=test的DIV中显示日历
});
</script>

<style>
#test {
    width:200px;
    height:auto;
    overflow:hidden;
    border:solid 1px;
    margin-bottom:20px;
}
</style>
</head>

<body>
    <div id="test"></div>
</body>
</html>

 

以上就是素颜效果的代码,如果还想自定义UI,可以在调用calendar_init()时加上第二个参数。浓妆照的代码如下:

calendar_init($("#test"),{
        title_color:"yellow",
        title_bg_color:"red",
        day_color:"brown",
        day_bg_color:"green",
        date_bg_color:"pink",
        date_color:"blue",
        date_active_color:"red"
    });

 

calendar_init函数的第二个参数是可选项,类型是包含键值对的对象,下面用表格介绍下这个参数的每个键的含义及其取值:

参数 含义及取值
title_bg_color 年月区域的背景颜色,取值遵循web色彩取值规范,默认透明
title_color 年月区域的字体颜色,包括那几个按钮的前景色,取值遵循web色彩取值规范,默认透明
line_style 年月区域与星期区域的分隔线的style,取值遵循css边框取值规范,默认值:solid 1px
day_bg_color 星期区域的背景颜色,取值遵循web色彩取值规范,默认透明
day_color 星期区域的字体颜色,取值遵循web色彩取值规范,默认透明
date_bg_color 日期区域的背景颜色,取值遵循web色彩取值规范,默认透明
date_color 日期区域的字体颜色,取值遵循web色彩取值规范,默认透明
date_active_color 当前日期的背景颜色,取值遵循web色彩取值规范,默认透明
line_height 行高,默认30px

calendar_init函数的第一个参数是必需项,用于指示在哪个容器里面显示日历。如果容器的宽度小于200px, 还会出现上面第3张图里面的错误提示。更多内容呢,请访问我的github主页:https://github.com/dige1993/calendar.git

 

posted @ 2016-10-17 22:58 dige1993 Views(...) Comments(...) Edit 收藏