关键词1
关键词101
关键词201
关键词301
关键词401
关键词501
关键词601
关键词701
关键词801
关键词901
关键词1001
关键词1101
关键词1201
关键词1301
关键词1401
关键词1501
关键词1601
关键词1701
关键词1801
关键词1901
懂视1
懂视101
懂视201
懂视301
懂视401
懂视501
懂视601
懂视701
懂视801
懂视901
懂视1001
懂视1101
懂视1201
懂视1301
懂视1401
懂视1501
懂视1601
懂视1701
懂视1801
懂视1901
文库1
文库101
文库201
文库301
文库401
文库501
文库601
文库701
文库801
文库901
文库1001
文库1101
文库1201
文库1301
文库1401
文库1501
文库1601
文库1701
文库1801
文库1901
测品娱乐
全部频道
首页
科技
教育
生活
旅游
时尚
美容
美食
健康
体育
游戏
汽车
家电
您的当前位置:
首页
js日历控件(可精确到分钟)_时间日期
js日历控件(可精确到分钟)_时间日期
来源:测品娱乐
function CalendarMinute(name,fName) { this.name = name; this.fName = fName || "m_input"; this.timer = null; this.fObj = null; this.toString = function() { var objDate = new Date(); var sMinute_Common = "class=\"m_input\" maxlength=\"2\" name=\""+this.fName+"\" onfocus=\""+this.name+".setFocusObj(this)\" onblur=\""+this.name+".setTime(this)\" onkeyup=\""+this.name+".prevent(this)\" onkeypress=\"if (!/[0-9]/.test(String.fromCharCode(event.keyCode)))event.keyCode=0\" onpaste=\"return false\" ondragenter=\"return false\""; var sButton_Common = "class=\"m_arrow\" onfocus=\"this.blur()\" onmouseup=\""+this.name+".controlTime()\" disabled" var str = ""; str += "
" str += "
" str += "
" str += "请选择时间:" str += "
" str += "
" str += "" str += "
:" str += "
" //str += "
" str += "" str += "
" str += "
" str += "
" str += "
5
" str += "
6
" str += "
" str += "
" str += "
" str += "
" return str; } this.play = function() { this.timer = setInterval(this.name+".playback()",1000); } this.formatTime = function(sTime) { sTime = ("0"+sTime); return sTime.substr(sTime.length-2); } this.playback = function() { var objDate = new Date(); var arrDate = [objDate.getHours(),objDate.getMinutes(),objDate.getSeconds()]; var objMinute = document.getElementsByName(this.fName); for (var i=0;i
radix||obj.value<0) { obj.value = obj.value.substr(0,1); } } this.controlTime = function(cmd) { event.cancelBubble = true; if (!this.fObj) return; clearInterval(this.timer); var cmd = event.srcElement.innerText=="5"?true:false; var i = parseInt(this.fObj.value,10); var radix = parseInt(this.fObj.radix,10)-1; if (i==radix&&cmd) { i = 0; } else if (i==0&&!cmd) { i = radix; } else { cmd?i++:i--; } this.fObj.value = this.formatTime(i); this.fObj.select(); getDateTime(); } this.setTime = function(obj) { obj.value = this.formatTime(obj.value); } this.setFocusObj = function(obj) { eval(this.fName+"_up").disabled = eval(this.fName+"_down").disabled = false; this.fObj = obj; } this.getTime = function() { var arrTime = new Array(2); for (var i=0;i
"; str += "
"; str += "
"; str += this.drawMonth(); str += "
"; str += "
"; str += this.drawYear(); str += "
"; str += "
"; str += "
"; str += "
"; str += ""; str += "
"; str += "
"; str += "
日
一
二
三
四
五
六
"; str += "
"; str += "
"; str += this.drawDate(); str += ""; str += "
"; str += "
"; str += ""; return str; } //private this.drawYear = function() { var str = ""; str += "
"; str += "
"; str += "
"; str += "
"; //DateField str += "
"; str += "
"; str += "
"; str += "
"; str += "
"; str += "
5
"; str += "
"; str += "
"; str += "
6
"; str += "
"; str += "
"; str += "
"; str += "
"; str += "
"; return str; } //priavate this.drawMonth = function() { //alert(this.fName); var aMonthName = ["一","二","三","四","五","六","七","八","九","十","十一","十二"]; var str = ""; str += "
"; for (var i=0;i"+aMonthName[i]+"月"; } str += "
"; return str; } //private this.drawDate = function() { var str = ""; var fDay = new Date(this.year,this.month,1).getDay(); var fDate = 1-fDay; var lDay = new Date(this.year,this.month+1,0).getDay(); var lDate = new Date(this.year,this.month+1,0).getDate(); str += "
"; for (var i=1,j=fDate;i<7;i++) { str += "
"; for (var k=0;k<7;k++) { str += "
"+(isDate(j++))+"
"; } str += "
"; } str += "
"; return str; function isDate(n) { return (n>=1&&n<=lDate)?n:""; } } //public this.redrawDate = function(d) { this.year = document.getElementById(this.fName+"_year").value; this.month = document.getElementById(this.fName+"_month").value-1; //alert(this.date) this.date = d || this.date; //alert(this.date) document.getElementById(this.fName+"_year").value = this.year; document.getElementById(this.fName+"_month").selectedIndex = this.month; document.getElementById(this.fName+"_date").value = this.date; if (this.date>new Date(this.year,this.month+1,0).getDate()) this.date = new Date(this.year,this.month+1,0).getDate(); document.getElementById(this.fName+"_dateTable").outerHTML = this.drawDate(); //alert(this.year); //alert(this.month); //alert(this.date); getDateTime(); } //public this.getDate = function(delimiter) { var s_month,s_date; s_month=this.month+1; s_date=this.date; s_month = ("0"+s_month); s_month=s_month.substr(s_month.length-2); s_date = ("0"+s_date); s_date=s_date.substr(s_date.length-2); if (!delimiter) delimiter = "-"; var aValue = [this.year,s_month,s_date]; return aValue.join(delimiter); } } function getDateTime(){ //alert(c.getDate()+' '+m.getTime()); gdCtrl.value = c.getDate()+' '+m.getTime(); } var gdCtrl = new Object(); function showCal(popCtrl){ gdCtrl = popCtrl; event.cancelBubble=true; //alert(popCtrl); var point = fGetXY(popCtrl); //alert(point.x); //var point = new Point(100,100); //alert(gdCtrl.value); var gdValue=gdCtrl.value; var i_year,i_month,i_day,i_hour,i_minute; if(gdCtrl.value!="" && validateDate1(gdCtrl.value,'yyyy-MM-dd HH:mm')){ i_year=gdValue.substr(0,4); if(gdValue.substr(5,1)=="0"){ i_month=parseInt(gdValue.substr(6,1)); }else{ i_month=parseInt(gdValue.substr(5,2)); } if(gdValue.substr(8,1)=="0"){ i_day=parseInt(gdValue.substr(9,1)); }else{ i_day=parseInt(gdValue.substr(8,2)); } i_hour1=gdValue.substr(11,2); i_minute=gdValue.substr(14,2); //alert(i_hour1+"aaa"); //alert(i_minute); document.getElementById(c.fName+"_year").value = i_year; document.getElementById(c.fName+"_month").value= i_month; //document.getElementById(c.fName+"_date").value = i_day; c.date=i_day; document.getElementsByName(m.fName)[0].value=i_hour1; document.getElementsByName(m.fName)[1].value=i_minute; c.redrawDate(); } //c.month= with (dateTime.style) { left = point.x; top = point.y+popCtrl.offsetHeight+1; width = dateTime.offsetWidth; height = dateTime.offsetHeight; //fToggleTags(point); visibility = 'visible'; } dateTime.focus(); } function Point(iX, iY){ this.x = iX; this.y = iY; } function validateDate1(date,format){ var time=date; if(time=="") return; var reg=format; var reg=reg.replace(/yyyy/,"[0-9]{4}"); var reg=reg.replace(/yy/,"[0-9]{2}"); var reg=reg.replace(/MM/,"((0[1-9])|1[0-2])"); var reg=reg.replace(/M/,"(([1-9])|1[0-2])"); var reg=reg.replace(/dd/,"((0[1-9])|([1-2][0-9])|30|31)"); var reg=reg.replace(/d/,"([1-9]|[1-2][0-9]|30|31))"); var reg=reg.replace(/HH/,"(([0-1][0-9])|20|21|22|23)"); var reg=reg.replace(/H/,"([0-9]|1[0-9]|20|21|22|23)"); var reg=reg.replace(/mm/,"([0-5][0-9])"); var reg=reg.replace(/m/,"([0-9]|([1-5][0-9]))"); var reg=reg.replace(/ss/,"([0-5][0-9])"); var reg=reg.replace(/s/,"([0-9]|([1-5][0-9]))"); reg=new RegExp("^"+reg+"$"); if(reg.test(time)==false){//验证格式是否合法 //alert(alt); //date.focus(); return false; } return true; } function fGetXY(aTag){ var oTmp=aTag; var pt = new Point(0,0); do { pt.x += oTmp.offsetLeft; pt.y += oTmp.offsetTop; oTmp = oTmp.offsetParent; } while(oTmp.tagName!="BODY"); return pt; } function hideCalendar(){ dateTime.style.visibility = "hidden"; /*for (i in goSelectTag) //????????,goSelectTag???? goSelectTag[i].style.visibility = "visible"; goSelectTag.length = 0;*/ } script> 点击弹出时间框:
var c = new CalendarCalendar('c');document.write(c); script>
var m = new CalendarMinute('m');document.write(m); script>
hideCalendar()
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
显示全文