|
'</tr></table></td></tr></table></div>'''';window.frames.nickDateLayer.document.writeln(strFrame); window.frames.nickDateLayer.document.close(); //解决ie进度条不结束的问题 //==================================================== WEB 页面显示部分 ====================================================== var outObject; var outButton; //点击的按钮 var outDate=""; //存放对象的日期 var odatelayer=window.frames.nickDateLayer.document.all; //存放日历对象 function setday(tt,obj) //主调函数 { if (arguments.length > 2){alert("对不起!传入本控件的参数太多!");return;} if (arguments.length == 0){alert("对不起!您没有传回本控件任何参数!");return;} var dads = document.all.nickDateLayer.style; var th = tt; var ttop = tt.offsetTop; //TT控件的定位点高 var thei = tt.clientHeight; //TT控件本身的高 var tleft = tt.offsetLeft; //TT控件的定位点宽 var ttyp = tt.type; //TT控件的类型 while (tt = tt.offsetParent){ttop+=tt.offsetTop; tleft+=tt.offsetLeft;} dads.top = (ttyp=="image")? ttop+thei : ttop+thei+6; dads.left = tleft; outObject = (arguments.length == 1) ? th : obj; outButton = (arguments.length == 1) ? null : th; //设定外部点击的按钮 //根据当前输入框的日期显示日历的年月 var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/; var r = outObject.value.match(reg); if(r!=null){ r[2]=r[2]-1; var d= new Date(r[1], r[2],r[3]); if(d.getFullYear()==r[1] && d.getMonth()==r[2] && d.getDate()==r[3]){ outDate=d; //保存外部传入的日期 } else outDate=""; nickSetDay(r[1],r[2]+1); } else{ outDate=""; nickSetDay(new Date().getFullYear(), new Date().getMonth() + 1); } dads.display = ''''''''; event.returnValue=false; } var MonHead = new Array(12); //定义阳历中每个月的最大天数 MonHead[0] = 31; MonHead[1] = 28; MonHead[2] = 31; MonHead[3] = 30; MonHead[4] = 31; MonHead[5] = 30; MonHead[6] = 31; MonHead[7] = 31; MonHead[8] = 30; MonHead[9] = 31; MonHead[10] = 30; MonHead[11] = 31; var nickTheYear=new Date().getFullYear(); //定义年的变量的初始值 var nickTheMonth=new Date().getMonth()+1; //定义月的变量的初始值 var nickWDay=new Array(39); //定义写日期的数组 function document.onclick() //任意点击时关闭该控件 //ie6的情况可以由下面的切换焦点处理代替 { with(window.event) { if (srcElement.getAttribute("Author")==null && srcElement != outObject && srcElement != outButton) closeLayer(); } } function document.onkeyup() //按Esc键关闭,切换焦点关闭 { if (window.event.keyCode==27){ if(outObject)outObject.blur(); closeLayer(); } else if(document.activeElement) if(document.activeElement.getAttribute("Author")==null && document.activeElement != outObject && document.activeElement != outButton) { closeLayer(); } } function nickWriteHead(yy,mm) //往 head 中写入当前的年与月 { odatelayer.nickYearHead.innerText = yy + " 年"; odatelayer.nickMonthHead.innerText = mm + " 月"; } function tmpSelectYearInnerHTML(strYear) //年份的下拉框 { if (strYear.match(/\D/)!=null){alert("年份输入参数不是数字!");return;} var m = (strYear) ? strYear : new Date().getFullYear(); if (m < 1000 || m > 9999) {alert("年份值不在 1000 到 9999 之间!");return;} var n = m - 10; if (n < 1000) n = 1000; if (n + 26 > 9999) n = 9974; var s = "<select name=tmpSelectYear style=''''font-size: 12px'''' " s += "onblur=''''document.all.tmpSelectYearLayer.style.display=\"none\"'''' " s += "onchange=''''document.all.tmpSelectYearLayer.style.display=\"none\";" s += "parent.nickTheYear = this.value; parent.nickSetDay(parent.nickTheYear,parent.nickTheMonth)''''>\r\n"; var selectInnerHTML = s; n = n-70; for (var i = n; i < n + 200; i++) { if (i == m) {selectInnerHTML += "<option value=''''" + i + "'''' selected>" + i + "年" + "</option>\r\n";} else {selectInnerHTML += "<option value=''''" + i + "''''>" + i + "年" + "</option>\r\n";} } selectInnerHTML += "</select>"; odatelayer.tmpSelectYearLayer.style.display=""; odatelayer.tmpSelectYearLayer.innerHTML = selectInnerHTML; odatelayer.tmpSelectYear.focus(); } function tmpSelectMonthInnerHTML(strMonth) //月份的下拉框 { if (strMonth.match(/\D/)!=null){alert("月份输入参数不是数字!");return;} var m = (strMonth) ? strMonth : new Date().getMonth() + 1; var s = "<select name=tmpSelectMonth style=''''font-size: 12px'''' " s += "onblur=''''document.all.tmpSelectMonthLayer.style.display=\"none\"'''' " s += "onchange=''''document.all.tmpSelectMonthLayer.style.display=\"none\";" s += "parent.nickTheMonth = this.value; parent.nickSetDay(parent.nickTheYear,parent.nickTheMonth)''''>\r\n"; var selectInnerHTML = s; for (var i = 1; i < 13; i++) { if (i == m) {selectInnerHTML += "<option value=''''"+i+"'''' selected>"+i+"月"+"</option>\r\n";} else {selectInnerHTML += "<option value=''''"+i+"''''>"+i+"月"+"</option>\r\n";} } selectInnerHTML += "</select>"; odatelayer.tmpSelectMonthLayer.style.display=""; odatelayer.tmpSelectMonthLayer.innerHTML = selectInnerHTML; odatelayer.tmpSelectMonth.focus(); } function closeLayer() //这个层的关闭 { document.all.nickDateLayer.style.display="none"; } function IsPinYear(year) //判断是否闰平年 { if (0==year%4&&((year%100!=0)||(year%400==0))) return true;else return false; } function GetMonthCount(year,month) //闰年二月为29天 { var c=MonHead[month-1];if((month==2)&&IsPinYear(year)) c++;return c; } function GetDOW(day,month,year) //求某天的星期几 { var dt=new Date(year,month-1,day).getDay()/7; return dt; } function nickPrevY() //往前翻 Year { if(nickTheYear > 999 && nickTheYear <10000){nickTheYear--;} else{alert("年份超出范围(1000-9999)!");} nickSetDay(nickTheYear,nickTheMonth); } function nickNextY() //往后翻 Year { if(nickTheYear > 999 && nickTheYear <10000){nickTheYear++;} else{alert("年份超出范围(1000-9999)!");} nickSetDay(nickTheYear,nickTheMonth); } function nickToday() //Today Button { var today; nickTheYear = new Date().getFullYear(); nickTheMonth = new Date().getMonth()+1; if (nickTheMonth < 10){nickTheMonth = "0" + nickTheMonth;} today=new Date().getDate(); if (today < 10){today = "0" + today;} //nickSetDay(nickTheYear,nickTheMonth); if(outObject){ outObject.value=nickTheYear + "-" + nickTheMonth + "-" + today; } closeLayer(); } function nickPrevM() //往前翻月份 { if(nickTheMonth>1){nickTheMonth--}else{nickTheYear--;nickTheMonth=12;} nickSetDay(nickTheYear,nickTheMonth); } function nickNextM() //往后翻月份 { if(nickTheMonth==12){nickTheYear++;nickTheMonth=1}else{nickTheMonth++} nickSetDay(nickTheYear,nickTheMonth); } function nickSetDay(yy,mm) //主要的写程序********** { nickWriteHead(yy,mm); //设置当前年月的公共变量为传入值 nickTheYear=yy; nickTheMonth=mm; for (var i = 0; i < 39; i++){nickWDay[i]=""}; //将显示框的内容全部清空 var day1 = 1,day2=1,firstday = new Date(yy,mm-1,1).getDay(); //某月第一天的星期几 for (i=0;i<firstday;i++)n 上一页 [1] [2] [3] 下一页 [C语言系列]NET 中C#的switch语句的语法 [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载 [常用软件]用内建的“Net Meeting”聊天 [VB.NET程序]Henry的VB.NET之旅(三)—共享成员 [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构 [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体 [VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET) [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
|