900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 基于js的一个日历控件 点击按钮 弹出日历 显示日期到文本框

基于js的一个日历控件 点击按钮 弹出日历 显示日期到文本框

时间:2020-04-05 22:43:39

相关推荐

基于js的一个日历控件 点击按钮 弹出日历 显示日期到文本框

首先是一些js代码:

<Script LANGUAGE="JavaScript">

var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二");

var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);

var days = new Array("日","一", "二", "三","四", "五", "六");

var classTemp;

var today=new getToday();

var year=today.year;

var month=today.month;

var newCal;

function getDays(month, year) {

if (1 == month)

return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;

else

return daysInMonth[month];

}

function getToday() {

this.now = new Date();

this.year = this.now.getFullYear();

this.month = this.now.getMonth();

this.day = this.now.getDate();

}

function Calendar() {

newCal = new Date(year,month,1);

today = new getToday();

var day = -1;

var startDay = newCal.getDay();

var endDay=getDays(newCal.getMonth(), newCal.getFullYear());

var daily = 0;

if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())){

day = today.day;

}

var caltable = document.all.caltable.tBodies.calendar;

var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++)

for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++)

{

var cell = caltable.rows[intWeek].cells[intDay];

var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);

if ((intDay == startDay) && (0 == daily)){

daily = 1;

}

var daytemp=daily<10?("0"+daily):(daily);

var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">";

if(day==daily)

cell.className="DayNow";

else if(intDay==6)

cell.className = "DaySat";

else if (intDay==0)

cell.className ="DaySun";

else

cell.className="Day";

if ((daily > 0) && (daily <= intDaysInMonth)){

cell.innerText = daily;

daily++;

} else{

cell.className="CalendarTD";

cell.innerText = "";

}

}

document.all.year.value=year;

document.all.month.value=month+1;

}

function subMonth(){

if ((month-1)<0){

month=11;

year=year-1;

}else{

month=month-1;

}

Calendar();

}

function addMonth(){

if((month+1)>11){

month=0;

year=year+1;

}else{

month=month+1;

}

Calendar();

}

function setDate(){

if (document.all.month.value<1||document.all.month.value>12){

alert("月的有效范围在1-12之间!");

return;

}

year=Math.ceil(document.all.year.value);

month=Math.ceil(document.all.month.value-1);

Calendar();

}

</Script>

<Script>

function buttonOver(){

var obj = window.event.srcElement;

obj.runtimeStyle.cssText = "background-color:#FFFFFF";

// obj.className="Hover";

}

function buttonOut(){

var obj = window.event.srcElement;

window.setTimeout(function(){obj.runtimeStyle.cssText = "";},300);

}

</Script>

<script>

function getDiary(){

y=document.getElementById("year").value;

d=document.getElementById("month").value;

document.getElementById("showdate").value=y+"-"+d+"-"+event.srcElement.innerHTML;

document.getElementById("showdate").style.cssText="text-align:center"; //文字居中显示

document.getElementById("caltable").style.display="none";

}

</script>

<Script LANGUAGE="JavaScript">

function rili(){

document.getElementById('caltable').style.display='';

Calendar();

}

</Script>

下面是body里的内容

<input type="text" id=showdate>

<input type="button" id=controlcalendar value="日历" οnclick="rili();">

<table border="0" cellpadding="0" cellspacing="1" class="Calendar" id="caltable" style="display:none">

<thead>

<tr align="center" valign="middle">

<td colspan="7" class="Title">

<a href="javaScript:subMonth();" title="上一月" Class="DayButton">上一月</a>

<input name="year" id="year" type="text" size="4" maxlength="4" οnblur="setDate();"> 年

<input name="month" id="month" type="text" size="1" maxlength="2" οnblur="setDate();"> 月

<a href="JavaScript:addMonth();" title="下一月" Class="DayButton">下一月</a>

</td>

</tr>

<tr align="center" valign="middle">

<Script LANGUAGE="JavaScript">

document.write("<TD class=DaySunTitle id=diary >" + days[0] + "</TD>");

for (var intLoop = 1; intLoop < days.length-1;intLoop++)

document.write("<TD class=DayTitle id=diary>" + days[intLoop] + "</TD>");

document.write("<TD class=DaySatTitle id=diary>" + days[intLoop] + "</TD>");

</Script>

</TR>

</thead>

<TBODY border=1 cellspacing="0" cellpadding="0" ID="calendar" ALIGN=CENTER ONCLICK="getDiary()">

<Script LANGUAGE="JavaScript">

for (var intWeeks = 0; intWeeks < 6; intWeeks++){

document.write("<TR style='cursor:hand'>");

for (var intDays = 0; intDays < days.length;intDays++) {

document.write("<TD class=CalendarTD onMouseover='buttonOver();' onMouseOut='buttonOut();'></TD>");

}

document.write("</TR>");

}

</Script>

</TBODY>

</TABLE>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。