pull/1/merge
sentsin 2014-06-25 03:56:10 +08:00
parent 5767e643dc
commit 90e8e1021d
8 changed files with 120 additions and 60 deletions

View File

@ -1,8 +1,8 @@
/**
@Name : layDate v1.0 日期控件
@Name : layDate v1.1 日期控件
@Author: 贤心
@Date: 2014-06-20
@Date: 2014-06-25
@QQ群176047195
@Sitehttp://sentsin.com/layui/laydate
@ -35,7 +35,7 @@ win.laydate = function(options){
return laydate;
};
laydate.v = '1.0';
laydate.v = '1.1';
//获取组件存放路径
Dates.getPath = (function(){
@ -60,7 +60,7 @@ Dates.trim = function(str){
//补齐数位
Dates.digit = function(num){
return num < 10 ? '0' + num : num;
return num < 10 ? '0' + (num|0) : num;
};
Dates.stopmp = function(e){
@ -255,19 +255,19 @@ Dates.timeVoid = function(times, index){
//检测日期是否合法
Dates.check = function(){
var reg = Dates.options.format.replace(/YYYY|MM|DD|hh|mm|ss/g,'\\d+\\').replace(/\\$/g, '');
var exp = new RegExp(reg), value = Dates.elem[Dates.elemv];
var exp = new RegExp(reg), value = Dates.elem[as.elemv];
var arr = value.match(/\d+/g) || [], isvoid = Dates.checkVoid(arr[0], arr[1], arr[2]);
if(value.replace(/\s/g, '') !== ''){
if(!exp.test(value)){
Dates.elem[Dates.elemv] = '';
Dates.elem[as.elemv] = '';
Dates.msg('日期不符合格式,请重新选择。');
return 1;
} else if(isvoid[0]){
Dates.elem[Dates.elemv] = '';
Dates.elem[as.elemv] = '';
Dates.msg('日期不在有效期内,请重新选择。');
return 1;
} else {
isvoid.value = Dates.elem[Dates.elemv].match(exp).join();
isvoid.value = Dates.elem[as.elemv].match(exp).join();
arr = isvoid.value.match(/\d+/g);
if(arr[1] < 1){
arr[1] = 1;
@ -300,8 +300,8 @@ Dates.check = function(){
}
if(isvoid.auto){
Dates.creation([arr[0], arr[1]|0, arr[2]|0], 1);
} else if(isvoid.value !== Dates.elem[Dates.elemv]){
Dates.elem[Dates.elemv] = isvoid.value;
} else if(isvoid.value !== Dates.elem[as.elemv]){
Dates.elem[as.elemv] = isvoid.value;
}
}
}
@ -380,9 +380,9 @@ Dates.viewDate = function(Y, M, D){
//定位时分秒
log.times = [
Dates.inymd[3]|0 || Dates.hmsin[0].value|0,
Dates.inymd[4]|0 || Dates.hmsin[1].value|0,
Dates.inymd[5]|0 || Dates.hmsin[2].value|0
Dates.inymd[3]|0 || 0,
Dates.inymd[4]|0 || 0,
Dates.inymd[5]|0 || 0
];
Dates.each(new Array(3), function(i){
Dates.hmsin[i].value = Dates.digit(Dates.timeVoid(log.times[i], i) ? Dates.mins[i+3]|0 : log.times[i]|0);
@ -448,14 +448,14 @@ Dates.viewYears = function(YY){
//初始化面板数据
Dates.initDate = function(){
var S = Dates.query, log = {}, De = new Date();
var ymd = Dates.inymd = Dates.elem[Dates.elemv].match(/\d+/g) || [];
var ymd = Dates.elem[as.elemv].match(/\d+/g) || [];
if(ymd.length < 3){
Dates.options.start = Dates.options.start || '';
ymd = Dates.options.start.match(/\d+/g) || [];
if(ymd.length < 3){
ymd = [De.getFullYear(), De.getMonth()+1, De.getDate()];
}
}
Dates.inymd = ymd;
Dates.viewDate(ymd[0], ymd[1]-1, ymd[2]);
};
@ -529,11 +529,12 @@ Dates.view = function(elem, options){
Dates.elem = elem;
Dates.options = options;
Dates.options.format || (Dates.options.format = config.format);
Dates.elemv = /textarea|input/.test(Dates.elem.tagName.toLocaleLowerCase()) ? 'value' : 'innerHTML';
Dates.options.start = Dates.options.start || '';
Dates.mm = log.mm = [Dates.options.min || config.min, Dates.options.max || config.max];
Dates.mins = log.mm[0].match(/\d+/g);
Dates.maxs = log.mm[1].match(/\d+/g);
as.elemv = /textarea|input/.test(Dates.elem.tagName.toLocaleLowerCase()) ? 'value' : 'innerHTML';
if(!Dates.box){
div = doc[creat]('div');
@ -572,9 +573,9 @@ Dates.view = function(elem, options){
+'<div class="laydate_bottom">'
+'<ul id="laydate_hms">'
+'<li class="laydate_sj">时间</li>'
+'<li><input value="00" readonly>:</li>'
+'<li><input value="00" readonly>:</li>'
+'<li><input value="00" readonly></li>'
+'<li><input readonly>:</li>'
+'<li><input readonly>:</li>'
+'<li><input readonly></li>'
+'</ul>'
+'<div class="laydate_time" id="laydate_time"></div>'
+'<div class="laydate_btn">'
@ -617,18 +618,19 @@ Dates.close = function(){
//转换日期格式
Dates.parse = function(ymd, hms, format){
ymd = ymd.concat(hms);
format = format || (Dates.options ? Dates.options.format : config.format);
var getDates = format.replace(/YYYY/, ymd[0]);
getDates = getDates.replace(/MM/, Dates.digit(ymd[1])).replace(/DD/, Dates.digit(ymd[2]));
getDates = getDates.replace(/hh/, Dates.digit(hms[0]|0));
return getDates.replace(/mm/, Dates.digit(hms[1]|0)).replace(/ss/, Dates.digit(hms[2]|0));
return format.replace(/YYYY|MM|DD|hh|mm|ss/g, function(str, index){
ymd.index = ++ymd.index|0;
return Dates.digit(ymd[ymd.index]);
});
};
//返回最终日期
Dates.creation = function(ymd, hide){
var S = Dates.query, hms = Dates.hmsin;
var getDates = Dates.parse(ymd, [hms[0].value, hms[1].value, hms[2].value]);
Dates.elem[Dates.elemv] = getDates;
Dates.elem[as.elemv] = getDates;
if(!hide){
Dates.close();
typeof Dates.options.choose === 'function' && Dates.options.choose(getDates);
@ -737,15 +739,15 @@ Dates.events = function(){
//清空
as.oclear = S('#laydate_clear');
Dates.on(as.oclear, 'click', function(){
Dates.elem[Dates.elemv] = '';
Dates.elem[as.elemv] = '';
Dates.close();
});
//今天
as.otoday = S('#laydate_today');
Dates.on(as.otoday, 'click', function(){
var De = new Date();
Dates.creation([De.getFullYear(), De.getMonth()+1, De.getDate()]);
Dates.elem[as.elemv] = laydate.now(0, Dates.options.format);
Dates.close();
});
//确认
@ -839,9 +841,11 @@ laydate.reset = function(){
(Dates.box && Dates.elem) && Dates.follow(Dates.box);
};
//返回此刻日期
laydate.now = function(format){
var De = new Date();
//返回指定日期
laydate.now = function(timestamp, format){
var De = new Date((timestamp|0) ? function(tamp){
return tamp < 86400000 ? (+new Date + tamp*86400000) : tamp;
}(parseInt(timestamp)) : +new Date);
return Dates.parse(
[De.getFullYear(), De.getMonth()+1, De.getDate()],
[De.getHours(), De.getMinutes(), De.getSeconds()],

File diff suppressed because one or more lines are too long

View File

@ -10,17 +10,13 @@ html{_background-image:url(about:blank); _background-attachment:fixed;}
.laydate_body .laydate_box, .laydate_body .laydate_box *{margin:0; padding:0;}
.laydate-icon,
.laydate-icon-default,
.laydate-icon-yahui,
.laydate-icon-danlan,
.laydate-icon-qianhuang,
.laydate-icon-yalan,
.laydate-icon-dahong{height:22px; line-height:22px; padding-right:20px; background-repeat:no-repeat; background-position:right center; background-color:#fff; outline:0;}
.laydate-icon-default{border:1px solid #C6C6C6; background-image:url(../skins/default/icon.png)}
.laydate-icon-yahui{border:1px solid #C6C6C6; background-image:url(../skins/yahui/icon.png)}
.laydate-icon-dahong,
.laydate-icon-molv{height:22px; line-height:22px; padding-right:20px; border:1px solid #C6C6C6; background-repeat:no-repeat; background-position:right center; background-color:#fff; outline:0;}
.laydate-icon-default{ background-image:url(../skins/default/icon.png)}
.laydate-icon-danlan{border:1px solid #B1D2EC; background-image:url(../skins/danlan/icon.png)}
.laydate-icon-qianhuang{border:1px solid #E7D7CB; background-image:url(../skins/qianhuang/icon.png)}
.laydate-icon-yalan{border:1px solid #34AADC; background-image:url(../skins/yalan/icon.png)}
.laydate-icon-dahong{border:1px solid #D91600; background-image:url(../skins/dahong/icon.png)}
.laydate-icon-dahong{background-image:url(../skins/dahong/icon.png)}
.laydate-icon-molv{background-image:url(../skins/molv/icon.png)}
.laydate_body .laydate_box{width:240px; font:12px '\5B8B\4F53'; z-index:99999999; *margin:-2px 0 0 -2px; *overflow:hidden; _margin:0; _position:absolute!important; background-color:#fff;}
.laydate_body .laydate_box li{list-style:none;}
.laydate_body .laydate_box .laydate_void{cursor:text!important;}
@ -31,7 +27,7 @@ html{_background-image:url(about:blank); _background-attachment:fixed;}
.laydate_body .laydate_box .laydate_show{display:block;}
.laydate_body .laydate_box input{outline:0; font-size:14px; background-color:#fff;}
.laydate_body .laydate_top{position:relative; height:26px; padding:5px; *width:100%; z-index:99;}
.laydate_body .laydate_ym{position:relative; float:left; width height:24px; cursor:pointer;}
.laydate_body .laydate_ym{position:relative; float:left; height:24px; cursor:pointer;}
.laydate_body .laydate_ym input{float:left; height:24px; line-height:24px; text-align:center; border:none; cursor:pointer;}
.laydate_body .laydate_ym .laydate_yms{position:absolute; left: -1px; top: 24px; height:181px;}
.laydate_body .laydate_y{width:121px; margin-right:6px;}
@ -54,14 +50,15 @@ html{_background-image:url(about:blank); _background-attachment:fixed;}
.laydate_body .laydate_table{ width:230px; margin:0 5px; border-collapse:collapse; border-spacing:0px; }
.laydate_body .laydate_table td{width:31px; height:19px; line-height:19px; text-align: center; cursor:pointer; font-size: 12px;}
.laydate_body .laydate_table thead{height:22px; line-height:22px;}
.laydate_body .laydate_table thead th{font-weight:400; font-size:12px;}
.laydate_body .laydate_table thead th{font-weight:400; font-size:12px; text-align:center;}
.laydate_body .laydate_bottom{position:relative; height:22px; line-height:20px; padding:5px; font-size:12px;}
.laydate_body .laydate_bottom #laydate_hms{position: relative; z-index: 1; float:left; }
.laydate_body .laydate_time{ position:absolute; left:5px; bottom: 26px; width:129px; height:125px; *overflow:hidden;}
.laydate_body .laydate_time .laydate_hmsno{ padding:5px 0 0 5px;}
.laydate_body .laydate_time .laydate_hmsno span{display:block; float:left; width:24px; height:19px; line-height:19px; text-align:center; cursor:pointer; *margin-bottom:-5px;}
.laydate_body .laydate_time1{width:228px; height:154px;}
.laydate_body .laydate_time1 .laydate_hmsno{ padding:0; *padding:4px 0 0 5px;}
.laydate_body .laydate_time1 .laydate_hmsno{padding: 6px 0 0 8px;}
.laydate_body .laydate_time1 .laydate_hmsno span{width:21px; height:20px; line-height:20px;}
.laydate_body .laydate_msg{left:49px; bottom:67px; width:141px; height:auto; overflow: hidden;}
.laydate_body .laydate_msg p{padding:5px 10px;}
.laydate_body .laydate_bottom li{float:left; height:20px; line-height:20px; border-right:none; font-weight:900;}

View File

@ -8,23 +8,20 @@
.laydate-icon{border:1px solid #ccc; background-image:url(icon.png)}
.laydate_body .laydate_box,
.laydate_body .laydate_bottom #laydate_hms,
.laydate_body .laydate_time{border:1px solid #ccc;}
.laydate_body .laydate_box,
.laydate_body .laydate_ym .laydate_yms,
.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;}
.laydate_body .laydate_box input{background:none!important; color:#fff;}
.laydate_body .laydate_box .laydate_void{color:#ccc!important; /*text-decoration:line-through;*/}
.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
.laydate_body .laydate_box .laydate_void{color:#FFD7D2!important;}
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
.laydate_body .laydate_box a:hover{color:#666;}
.laydate_body .laydate_click{background-color:#F32043!important; color:#fff!important;}
.laydate_body .laydate_top{border-top:1px solid #D91600; background-color:#D91600}
.laydate_body .laydate_ym{background-color:#D91600;}
.laydate_body .laydate_ym{border:1px solid #D91600; background-color:#D91600;}
.laydate_body .laydate_ym .laydate_yms{border:1px solid #D91600; background-color:#D91600; color:#fff;}
.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #D91600;}
.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #D91600; border-bottom:none;}
@ -36,25 +33,26 @@
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;}
.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;}
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;}
.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #fff; border-left:none; border-right:none;}
.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;}
.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#333;}
.laydate_body .laydate_table .laydate_nothis{color:#999;}
.laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;}
.laydate_body .laydate_table thead th{}
.laydate_body .laydate_bottom{border-bottom:1px solid #ccc;}
.laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;}
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
.laydate_body .laydate_time{background-color:#fff;}
.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #ccc; background-color:#fff;}
.laydate_body .laydate_time1{width: 226px!important; height: 152px!important;}
.laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;}
.laydate_body .laydate_bottom input{background-color:#fff; color:#333;}
.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_v{color:#999}
.laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;}
.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#333;}
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_time .laydate_hmsno span:hover,
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_table td:hover,
.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F54766; color:#fff;}
.laydate_body .laydate_table td:hover{background-color:#F54766; color:#fff;}

View File

@ -47,8 +47,8 @@
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#666;}
.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff;}
.laydate_body .laydate_table .laydate_nothis{color:#999;}
.laydate_body .laydate_table thead{height:21px!important; line-height:21px!important; border-bottom:1px solid #ccc;}
.laydate_body .laydate_table thead th{}
.laydate_body .laydate_table thead{height:21px!important; line-height:21px!important;}
.laydate_body .laydate_table thead th{border-bottom:1px solid #ccc;}
.laydate_body .laydate_bottom{border-bottom:1px solid #C6C6C6;}
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
.laydate_body .laydate_time{background-color:#fff;}
@ -62,6 +62,7 @@
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_table td:hover{background-color:#F3F3F3}
.laydate_body .laydate_table td:hover,
.laydate_body .laydate_time .laydate_hmsno span:hover{background-color:#F3F3F3}

BIN
skins/molv/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

59
skins/molv/laydate.css Normal file
View File

@ -0,0 +1,59 @@
/**
@Name laydate绿
@Author
@Sitehttp://sentsin.com/layui/laydate
**/
.laydate-icon{border:1px solid #ccc; background-image:url(icon.png)}
.laydate_body .laydate_bottom #laydate_hms,
.laydate_body .laydate_time{border:1px solid #ccc;}
.laydate_body .laydate_box,
.laydate_body .laydate_ym .laydate_yms,
.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;}
.laydate_body .laydate_box input{background:none!important; color:#fff;}
.laydate_body .laydate_box .laydate_void{color:#93FFF7!important;}
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
.laydate_body .laydate_box a:hover{color:#666;}
.laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;}
.laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95}
.laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;}
.laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;}
.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;}
.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;}
.laydate_body .laydate_choose{border-left:1px solid #009F95;}
.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;}
.laydate_body .laydate_choose:hover,
.laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;}
.laydate_body .laydate_chtop cite{border-bottom-color:#fff;}
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;}
.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;}
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;}
.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;}
.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#333;}
.laydate_body .laydate_table .laydate_nothis{color:#999;}
.laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;}
.laydate_body .laydate_table thead th{}
.laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;}
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
.laydate_body .laydate_time{background-color:#fff;}
.laydate_body .laydate_time1{width: 226px!important; height: 152px!important;}
.laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;}
.laydate_body .laydate_bottom input{background-color:#fff; color:#333;}
.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_v{color:#999}
.laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;}
.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#333;}
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_time .laydate_hmsno span:hover,
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;}

View File

@ -52,6 +52,7 @@
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_table td:hover{background-color:#87CBE9; color:#fff;}
.laydate_body .laydate_table td:hover,
.laydate_body .laydate_time .laydate_hmsno span:hover{background-color:#87CBE9; color:#fff;}