1回顶部 function atCalendarControl(){ /************** 加入日历底板及阴影 *********************/
2回顶部 var tbBoard=document.createElement("table"); divBoard.insertAdjacentElement("beforeEnd",tbBoard); tbBoard.style.cssText="position:absolute;top:0;left:0;width:100%;height:10;font-size:9pt;"; tbBoard.cellPadding=0; tbBoard.cellSpacing=1; tbBoard.bgColor="#333333"; /************** 设置各功能按钮的功能 *********************/ /*********** Calendar PrevYear Button ***************/
3回顶部 calendar.currentDate[1]--; if(calendar.currentDate[1]==0){ calendar.currentDate[1]=12; calendar.currentDate[0]--; } calendar.show(calendar.target,calendar.currentDate[0]+"-"+calendar.currentDate[1]+"-"+calendar.currentDate[2],calendar.source); } /*********** Calendar Today Button ***************/ calendar.goToday = calendar.insertTbCell(trRow,2,"今天","center",3); calendar.goToday.title="选择今天"; calendar.goToday.onclick=function(){ calendar.sltDate=calendar.currentDate[0]+"-"+calendar.currentDate[1]+"-"+calendar.currentDate[2]; calendar.target.value=calendar.sltDate; calendar.hide(); //calendar.show(calendar.target,calendar.today[0]+"-"+calendar.today[1]+"-"+calendar.today[2],calendar.source); } /*********** Calendar NextMonth Button ***************/ calendar.nextMonth = calendar.insertTbCell(trRow,3,">","center"); calendar.nextMonth.title="下一"; calendar.nextMonth.onmousedown=function(){ calendar.currentDate[1]++; if(calendar.currentDate[1]==13){ calendar.currentDate[1]=1; calendar.currentDate[0]++; } calendar.show(calendar.target,calendar.currentDate[0]+"-"+calendar.currentDate[1]+"-"+calendar.currentDate[2],calendar.source); } /*********** Calendar NextYear Button ***************/ calendar.nextYear = calendar.insertTbCell(trRow,4,">>","center"); calendar.nextYear.title="下一年"; calendar.nextYear.onmousedown=function(){ calendar.currentDate[0]++; calendar.show(calendar.target,calendar.currentDate[0]+"-"+calendar.currentDate[1]+"-"+calendar.currentDate[2],calendar.source);
4回顶部 } trRow = tbBoard.insertRow(2); /*********** Calendar Body ***************/ var btnCell=document.createElement("button");
5回顶部 } btnCell.onmouseout=function(){ btnCell.style.cssText="width:100%;border:1 outset;background-color:buttonface;"; } // btnCell.onmousedown=function(){ // btnCell.style.cssText="width:100%;border:1 inset;background-color:#F0F0F0;"; // } btnCell.onmouseup=function(){ btnCell.style.cssText="width:100%;border:1 outset;background-color:#F0F0F0;"; } btnCell.onclick=function(){ btnCell.blur(); } return btnCell; } this.setDefaultDate=function(){ var dftDate=new Date(); calendar.today[0]=dftDate.getYear(); calendar.today[1]=dftDate.getMonth()+1; calendar.today[2]=dftDate.getDate(); } /****************** Show Calendar *********************/ var firstDay;
6回顶部 if(defaultDate==undefined || defaultDate==""){ var theDate=new Array(); calendar.head.innerText = calendar.today[0]+"-"+calendar.today[1]+"-"+calendar.today[2]; theDate[0]=calendar.today[0]; theDate[1]=calendar.today[1]; theDate[2]=calendar.today[2]; } else{ var reg=/^\d{4}-\d{1,2}-\d{2}$/ if(!defaultDate.match(reg)){ alert("默认日期的格式不正确\n\n默认日期可接受格式为:'yyyy-mm-dd'"); return; } var theDate=defaultDate.split("-"); calendar.head.innerText = defaultDate; } calendar.currentDate[0]=theDate[0]; calendar.currentDate[1]=theDate[1]; calendar.currentDate[2]=theDate[2]; theFirstDay=calendar.getFirstDay(theDate[0],theDate[1]); theMonthLen=theFirstDay+calendar.getMonthLen(theDate[0],theDate[1]); //calendar.setEventKey(); calendar.calendarPad.style.display="";
7回顶部 else{ var theCell=theRow.insertCell(j); theCell.style.cssText="background-color:#F0F0F0;cursor:default;"; } } } //****************调整日历位置**************//
8回顶部 //************* 插入日期单元格 **************/ this.insertBodyCell=function(theRow,j,day,targetObject){ var theCell=theRow.insertCell(j); if(j==0) var theBgColor="#FF9999"; else var theBgColor="#FFFFFF"; if(day==calendar.currentDate[2]) var theBgColor="#CCCCCC"; if(day==calendar.today[2]) var theBgColor="#99FFCC"; theCell.bgColor=theBgColor; theCell.innerText=day; theCell.align="center"; theCell.width=35; theCell.style.cssText="border:1 solid #CCCCCC;cursor:hand;"; theCell.onmouseover=function(){ theCell.bgColor="#FFFFCC"; theCell.style.cssText="border:1 outset;cursor:hand;"; } theCell.onmouseout=function(){ theCell.bgColor=theBgColor; theCell.style.cssText="border:1 solid #CCCCCC;cursor:hand;"; } theCell.onmousedown=function(){ theCell.bgColor="#FFFFCC"; theCell.style.cssText="border:1 inset;cursor:hand;"; } theCell.onclick=function(){ if(calendar.currentDate[1].length<2) calendar.currentDate[1]="0"+calendar.currentDate[1]; if(day.toString().length<2) day="0"+day; calendar.sltDate=calendar.currentDate[0]+"-"+calendar.currentDate[1]+"-"+day; calendar.target.value=calendar.sltDate; calendar.hide(); } } /************** 取得月份的第一天为星期几 *********************/ this.getFirstDay=function(theYear, theMonth){ var firstDate = new Date(theYear,theMonth-1,1); return firstDate.getDay(); } /************** 取得月份共有几天 *********************/
9回顶部 this.getMonthLen=function(theYear, theMonth) { theMonth--; var oneDay = 1000 * 60 * 60 * 24; var thisMonth = new Date(theYear, theMonth, 1); var nextMonth = new Date(theYear, theMonth + 1, 1); var len = Math.ceil((nextMonth.getTime() - thisMonth.getTime())/oneDay); return len; } /************** 隐藏日历 *********************/ this.hide=function(){ //calendar.clearEventKey(); calendar.calendarPad.style.display="none"; } /************** 从这里开始 *********************/ this.setup=function(defaultDate){ calendar.addCalendarPad(); calendar.addCalendarBoard(); calendar.setDefaultDate(); } /************** 关于AgetimeCalendar *********************/ this.about=function(){ /*//alert("Agetime Calendar V1.0\n\nwww.agetime.com\n"); popLeft = calendar.calendarPad.style.pixelLeft+4; popTop = calendar.calendarPad.style.pixelTop+25; var popup = window.createPopup(); var popupBody = popup.document.body; popupBody.style.cssText="border:solid 2 outset;font-size:9pt;background-color:#F0F0F0;"; var popHtml = "<span style='color:#336699;font-size:12pt;'><U>关于 AgetimeCalendar</U></span><BR><BR>"; popHtml+="版本: v1.0<BR>日期: 2004-03-13"; popupBody.innerHTML=popHtml; popup.show(popLeft,popTop,240,136,document.body); */ var strAbout = "About AgetimeCalendar\n\n"; strAbout+="-\t: 关于\n"; strAbout+="x\t: 隐藏\n"; strAbout+="<<\t: 上一年\n"; strAbout+="<\t: 上一月\n";
10回顶部 strAbout+="今日\t: 返回当天日期\n"; strAbout+=">\t: 下一月\n"; strAbout+="<<\t: 下一年\n"; strAbout+="\nAgetimeCalendar\nVersion:v1.0\nDesigned By:暂停打印 2004-03-16 afos_koo@hotmail.com \n"; alert(strAbout); } calendar.setup();
function createMenu(){ menupad[1]=new Array();
11回顶部 menupad[2]=new Array(); menupad[2][0]=new Array("替换"); menupad[2][1]=new Array("--"); menupad[2][2]=new Array("无间道"); menupad[2][3]=new Array("无孔不入"); var menu=new atMenu(menubar,menupad); calendar.html <BODY>
|
正在阅读:源码学习:一个简单的日历控件源码学习:一个简单的日历控件
2004-03-23 14:45
出处:CSDN
责任编辑:linjixiong