js日期选择器,并在输入框中自动添加示例代码。
复制代码代码如下所示:js日期选择器,并自动添加到输入框中。
无功gmonths =新的数组(一个月
var =新数组()
无功strtoday =今天;
无功stryear =年;
无功strmonth = 月;
无功strday =天;
Var splitChar= -;
无功startyear = 2000;
var endYear = 2050;
无功daytdheight = 12;
无功daytdtextsize = 12;
无功gcnotcurmonth =# e0e0e0 ;
gcrestday = # FF0000var;
无功gcworkday =# 444444 ;
无功gcmouseover =# 79d0ff ;
无功gcmouseout =# f4f4f4 ;
无功gctoday =# 444444 ;
无功gctodaymouseover =# 6699ff ;
无功gctodaymouseout =# 79d0ff ;
无功gdctrl =新的对象();
无功goselecttag =新的数组();
无功gdcurdate =新的日期();
无功giyear = gdcurdate.getfullyear();
无功gimonth = gdcurdate.getmonth()+ 1;
无功giday = gdcurdate.getdate();
功能({ var)元素=新($array);为(var i = 0;i < arguments.length;{ var元=论点{我};如果(我+ +)类型(参数{我})= = 'String'){元= document.getelementbyid(参数{我})}如果(争论。长度= = 1);{ return元;} elements.push(元);}返回元素;}
阵列。原型。推=函数(){ var startlength = this.length;为(var i = 0;i < arguments.length;i++){ { startlength +我} =论点{我};}退货。长度;}。
字符串。原型。hextodec =函数(){ return parseInt(,16);}
字符串。原型。cleanblank =函数(){ return this.isempty():this.replace( / / g,);}
功能checkcolor({ var)color_tmp =(的论点{ 0 } +)。更换( / /克),ToUpperCase(瓦尔河);model_tmp1 =论点{ 1 }。toUpperCase(瓦尔河);model_tmp2 = RGB(+论点{ 1 }。substring(1,3)(HexToDec)+
函数$(){返回$(参数{ 0 })。
功能fpopcalendar(EVT,popctrl,datectrl){ EVT。cancelbubble = true;gdctrl = datectrl;fsetyearmon(giyear,gimonth);var点= fgetxy(popctrl);与($(calendardiv)。风格){左=点。X +PX;顶=(Y +点。popctrl。offsetheight + 1)+PX;知名度= 'visible ';在=春城;位置=绝对的;} $(calendardiv焦点();})。
功能fsetdate(iyear,imonth,1){ var imonthnew =新的字符串(imonth);var idaynew =新的字符串(1);如果(imonthnew。长度<2){ imonthnew = 0 + imonthnew;}如果(idaynew。长度<2){ idaynew = 0 + idaynew;} gdctrl价值=。iyear + + + + splitchar imonthnew splitchar idaynew;(fhidecalendar);}
功能(fhidecalendar){ $(calendardiv)。风格。能见度=隐藏(VAR;i = 0;i < goselecttag.length;i++){ goselecttag {我}。风格。能见度=可见;} goselecttag。长度= 0;}
功能fsetselected({ var IOFFSET = 0);无功iyear = parseInt($(tbselyear );var imonth = parseInt(美元值)(tbselmonth );一个细胞=美元(价值)无功celltext+论点{ 0 });一个细胞。背景颜色= gcmouseout;与(一){ var 1 = parseInt(innerHTML);如果(checkcolor(style.color,gcnotcurmonth)({ IOFFSET =)innerHTML > 10)-如果(1:1 imonth12);} imonth + = IOFFSET;{ iyear + +;imonth = 1;} } fsetdate(iyear,imonth,1);}
功能点(ix,iy){,x = IX;这个y = IY;}
Function fBuildCal (iYear, iMonth) {var aMonth=new (Array) for (VaR; i=1; i<7; i++) {aMonth{i}=new Array (I);}var dCalDate=new Date (iYear, iMonth-1,1); VAR iDayOfFirst=dCalDate.getDay (VaR); iDaysInMonth=new Date (iYear, iMonth, 0) (.GetDate); VAR iOffsetLast=new Date (iYear, iMonth-1,0).GetDate (-iDayOfFirst+1); VAR iDate=1; VAR iNext=1; for (VaR d=0; d<7; d++) {aMonth{1}{d}= (d
Function fUpdateCal (iYear, iMonth) {var myMonth=fBuildCal (iYear, iMonth); VAR i=0; for (VaR w=1; w<7; w++) {for (VaR d=0; d<7; d++ (${with) (cellText +w+ +d {parentNode.bgColor=gcMouseOut parentNode.borderColor=)); gcMouseOut; parentNode.onmouseover=function ({this.bgColor=gcMouseOver);}; (parentNode.onmouseout=function) {this.bgColor=gcMouseOut;}; if (myMonth{w}{d}<0) {style.color=gcNotCurMonth; innerHTML=Math.abs (myMonth{w}{d});}else{style.color= ((d==0) || (d==6)) gcRestDay:gcWorkDay if (iYear==giYear iMonth==giMonth; innerHTML=myMonth{w}{d}; {style.color=gcToday; parentNode.bgColor=gcTodayMouseOut; myMonth{w}{d}==giDay) {this.bgColor=gcTodayMouseOver} (parentNode.onmouseover=function);; parentNode.onmouseout=function ({this.背景颜色= gctodaymouseout);};}}}}}}
功能fsetyearmon(iyear,IMON){ $(tbselmonth)。选项{ imon-1 }。选中=真;为(var i = 0;i <美元。长度(tbselyear );我+ +($ {如果)(tbselyear)。选项{我}。值= = iyear){ $(tbselyear)。选项{我} } }。选择= true;fupdatecal(iyear,IMON);}
功能fprevmonth(){ var IMON = $(tbselmonth)。价值;无功iyear = $(tbselyear)。价值;如果(--我是< 1);};}
功能fnextmonth(){ var IMON = $(tbselmonth)。价值;无功iyear = $(tbselyear)。价值;如果(+ +我> 12);};}
功能fgetxy(ATAG){ var OTMP = a;var PT =新点(0,0);做{铂。x + = otmp.offsetleft;PT。y + = otmp.offsettop;做{铂。x + = otmp.offsetleft;(()(=);
Function getDateDiv ({var) noSelectForIE= var; noSelectForFireFox=; if (document.all) {noSelectForIE= onselectstart='return false;}else{noSelectForFireFox=; -moz-user-select:none; }var dateDiv=; dateDiv+=; dateDiv+=; dateDiv+=; dateDiv+=; dateDiv+=; for; (VaR i=startYear; I +i+strYear+; }dateDiv+=; dateDiv+=; VAR i=0; I for (+gMonths{i}+; }dateDiv+=; dateDiv+= style='height:20px; width:20px; font-weight:bolder; 'onclick='fNextMonth' > () ; dateDiv+= ; dateDiv+= ; dateDiv+= ; dateDiv+= dateDiv+=fDrawCal (giYear, giMonth; dayTdHeight, dayTdTextSize, dateDiv+=); dateDiv+= ; dateDiv+= ; dateDiv+= ; +strToday+ : +giYear+strYear+giMonth+strMonth+giDay+ strday +;datediv + =;datediv + =;返回datediv;}
与(文档){ onclick= fhidecalendar;写(getdatediv());}