首页技术网页日历代码 一天一页日历台历

网页日历代码 一天一页日历台历

编程之家2026-07-04690次浏览

大家好,今天小编来为大家解答网页日历代码这个问题,一天一页日历台历很多人还不知道,现在让我们一起来看看吧!

网页日历代码 一天一页日历台历

求 网页日历代码

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>日历代码</title>

</head>

<body>

网页日历代码 一天一页日历台历

<SCRIPT language=JavaScript>

<!--

var lunarInfo=new Array(

0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,

0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,

0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,

网页日历代码 一天一页日历台历

0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,

0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,

0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,

0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,

0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,

0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,

0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,

0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,

0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,

0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,

0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,

0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0)

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

var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");

var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");

var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪");

var solarTerm= new Array("小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至")

var sTermInfo= new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)

var nStr1= new Array('日','一','二','三','四','五','六','七','八','九','十')

var nStr2= new Array('初','十','廿','卅','')

var monthName= new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");

//国历节日*表示放假日

var sFtv= new Array(

"0101*元旦",

"0214情人节",

"0303我生日",

"0308妇女节",

"0312植树节",

"0315消费者权益日",

"0317 St. Patrick's",

"0401愚人节",

"0501劳动节",

"0504青年节",

"0512护士节",

"0512茵生日",

"0601儿童节",

"0614 Flag Day",

"0701建党节香港回归纪念",

"0703炎黄在线诞辰",

"0718托普诞辰",

"0801建军节",

"0808父亲节",

"0909毛泽东逝世纪念",

"0910教师节",

"0928孔子诞辰",

"1001*国庆节",

"1006老人节",

"1024联合国日",

"1111 Veteran's/ Remembrance Day",

"1112孙中山诞辰纪念",

"1220澳门回归纪念",

"1225 Christmas Day",

"1226毛泽东诞辰纪念")

//农历节日*表示放假日

var lFtv= new Array(

"0101*春节",

"0115元宵节",

"0505端午节",

"0707七夕情人节",

"0715中元节",

"0815中秋节",

"0909重阳节",

"1208腊八节",

"1224小年",

"0100*除夕")

//某月的第几个星期几

var wFtv= new Array(

"0131 Martin Luther King Day",

"0231 President's Day",

"0520母亲节",

"0530 Armed Forces Day",

"0531 Victoria Day",

"0716合作节",

"0730被奴役国家周",

"0811 Civic Holiday",

"0911 Labor Holiday",

"1021 Columbus Day",

"1144 Thanksgiving")

/*****************************************************************************

日期计算

*****************************************************************************/

//======================================传回农历 y年的总天数

function lYearDays(y){

var i, sum= 348

for(i=0x8000; i>0x8; i>>=1) sum+=(lunarInfo[y-1900]& i)? 1: 0

return(sum+leapDays(y))

}

//======================================传回农历 y年闰月的天数

function leapDays(y){

if(leapMonth(y)) return((lunarInfo[y-1900]& 0x10000)? 30: 29)

else return(0)

}

//======================================传回农历 y年闰哪个月 1-12,没闰传回 0

function leapMonth(y){

return(lunarInfo[y-1900]& 0xf)

}

//======================================传回农历 y年m月的总天数

function monthDays(y,m){

return((lunarInfo[y-1900]&(0x10000>>m))? 30: 29)

}

//======================================算出农历,传入日期物件,传回农历日期物件

//该物件属性有.year.month.day.isLeap.yearCyl.dayCyl.monCyl

function Lunar(objDate){

var i, leap=0, temp=0

var baseDate= new Date(1900,0,31)

var offset=(objDate- baseDate)/86400000

this.dayCyl= offset+ 40

this.monCyl= 14

for(i=1900; i<2050&& offset>0; i++){

temp= lYearDays(i)

offset-= temp

this.monCyl+= 12

}

if(offset<0){

offset+= temp;

i--;

this.monCyl-= 12

}

this.year= i

this.yearCyl= i-1864

leap= leapMonth(i)//闰哪个月

this.isLeap= false

for(i=1; i<13&& offset>0; i++){

//闰月

if(leap>0&& i==(leap+1)&& this.isLeap==false)

{--i; this.isLeap= true; temp= leapDays(this.year);}

else

{ temp= monthDays(this.year, i);}

//解除闰月

if(this.isLeap==true&& i==(leap+1)) this.isLeap= false

offset-= temp

if(this.isLeap== false) this.monCyl++

}

if(offset==0&& leap>0&& i==leap+1)

if(this.isLeap)

{ this.isLeap= false;}

else

{ this.isLeap= true;--i;--this.monCyl;}

if(offset<0){ offset+= temp;--i;--this.monCyl;}

this.month= i

this.day= offset+ 1

}

//==============================传回国历 y年某m+1月的天数

function solarDays(y,m){

if(m==1)

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

else

return(solarMonth[m])

}

//==============================传入 offset传回干支, 0=甲子

function cyclical(num){

return(Gan[num%10]+Zhi[num%12])

}

//==============================月历属性

function calElement(sYear,sMonth,sDay,week,lYear,lMonth,lDay,isLeap,cYear,cMonth,cDay){

this.isToday= false;

//国历

this.sYear= sYear;

this.sMonth= sMonth;

this.sDay= sDay;

this.week= week;

//农历

this.lYear= lYear;

this.lMonth= lMonth;

this.lDay= lDay;

this.isLeap= isLeap;

//干支

this.cYear= cYear;

this.cMonth= cMonth;

this.cDay= cDay;

this.color='';

this.lunarFestival='';//农历节日

this.solarFestival='';//国历节日

this.solarTerms='';//节气

}

//=====某年的第n个节气为几日(从0小寒起算)

function sTerm(y,n){

var offDate= new Date(( 31556925974.7*(y-1900)+ sTermInfo[n]*60000)+ Date.UTC(1900,0,6,2,5))

return(offDate.getUTCDate())

}

//==============================传回月历物件(y年,m+1月)

function calendar(y,m){

var sDObj, lDObj, lY, lM, lD=1, lL, lX=0, tmp1, tmp2

var lDPOS= new Array(3)

var n= 0

var firstLM= 0

sDObj= new Date(y,m,1)//当月一日日期

this.length= solarDays(y,m)//国历当月天数

this.firstWeek= sDObj.getDay()//国历当月1日星期几

for(var i=0;i<this.length;i++){

if(lD>lX){

sDObj= new Date(y,m,i+1)//当月一日日期

lDObj= new Lunar(sDObj)//农历

lY= lDObj.year//农历年

lM= lDObj.month//农历月

lD= lDObj.day//农历日

lL= lDObj.isLeap//农历是否闰月

lX= lL? leapDays(lY): monthDays(lY,lM)//农历当月最后一天

if(n==0) firstLM= lM

lDPOS[n++]= i-lD+1

}

//sYear,sMonth,sDay,week,

//lYear,lMonth,lDay,isLeap,

//cYear,cMonth,cDay

this[i]= new calElement(y, m+1, i+1, nStr1[(i+this.firstWeek)%7],

lY, lM, lD++, lL,

cyclical(lDObj.yearCyl),cyclical(lDObj.monCyl), cyclical(lDObj.dayCyl++))

if((i+this.firstWeek)%7==0) this[i].color='red'//周日颜色

if((i+this.firstWeek)%14==13) this[i].color='red'//周休二日颜色

}

//节气

tmp1=sTerm(y,m*2)-1

tmp2=sTerm(y,m*2+1)-1

this[tmp1].solarTerms= solarTerm[m*2]

this[tmp2].solarTerms= solarTerm[m*2+1]

if(m==3) this[tmp1].color='red'//清明颜色

//国历节日

for(i in sFtv)

if(sFtv[i].match(/^(\d{2})(\d{2})([\s\*])(.+)$/))

if(Number(RegExp.$1)==(m+1)){

this[Number(RegExp.$2)-1].solarFestival+= RegExp.$4+''

if(RegExp.$3=='*') this[Number(RegExp.$2)-1].color='red'

}

//月周节日

for(i in wFtv)

if(wFtv[i].match(/^(\d{2})(\d)(\d)([\s\*])(.+)$/))

if(Number(RegExp.$1)==(m+1)){

tmp1=Number(RegExp.$2)

tmp2=Number(RegExp.$3)

this[((this.firstWeek>tmp2)?7:0)+ 7*(tmp1-1)+ tmp2- this.firstWeek].solarFestival+= RegExp.$5+''

}

//农历节日

for(i in lFtv)

if(lFtv[i].match(/^(\d{2})(.{2})([\s\*])(.+)$/)){

tmp1=Number(RegExp.$1)-firstLM

if(tmp1==-11) tmp1=1

if(tmp1>=0&& tmp1<n){

tmp2= lDPOS[tmp1]+ Number(RegExp.$2)-1

if( tmp2>= 0&& tmp2<this.length){

this[tmp2].lunarFestival+= RegExp.$4+''

if(RegExp.$3=='*') this[tmp2].color='red'

}

}

}

//黑色星期五

if((this.firstWeek+12)%7==5)

this[12].solarFestival+='黑色星期五'

//今日

if(y==tY&& m==tM) this[tD-1].isToday= true;

}

//======================中文日期

function cDay(d){

var s;

switch(d){

case 10:

s='初十'; break;

case 20:

s='二十'; break;

break;

case 30:

s='三十'; break;

break;

default:

s= nStr2[Math.floor(d/10)];

s+= nStr1[d%10];

}

return(s);

}

///////////////////////////////////////////////////////////////////////////////

var cld;

function drawCld(SY,SM){

var i,sD,s,size;

cld= new calendar(SY,SM);

if(SY>1874&& SY<1909) yDisplay='光绪'+(((SY-1874)==1)?'元':SY-1874)

if(SY>1908&& SY<1912) yDisplay='宣统'+(((SY-1908)==1)?'元':SY-1908)

if(SY>1911&& SY<1950) yDisplay='民国'+(((SY-1911)==1)?'元':SY-1911)

// if(SY>1949) yDisplay='共和国'+(((SY-1949)==1)?'元':SY-1949)

// GZ.innerHTML= yDisplay+'年农历'+ cyclical(SY-1900+36)+'年【'+Animals[(SY-4)%12]+'】';

if(SY>1949) yDisplay=''

GZ.innerHTML= yDisplay+'农历'+ cyclical(SY-1900+36)+'年【'+Animals[(SY-4)%12]+'】';

YMBG.innerHTML=""+ SY+"<BR>"+ monthName[SM];

for(i=0;i<42;i++){

sObj=eval('SD'+ i);

lObj=eval('LD'+ i);

sObj.className='';

sD= i- cld.firstWeek;

if(sD>-1&& sD<cld.length){//日期内

sObj.innerHTML= sD+1;

if(cld[sD].isToday) sObj.className='todyaColor';//今日颜色

sObj.style.color= cld[sD].color;//国定假日颜色

if(cld[sD].lDay==1)//显示农历月

lObj.innerHTML='<b>'+(cld[sD].isLeap?'闰':'')+ cld[sD].lMonth+'月'+(monthDays(cld[sD].lYear,cld[sD].lMonth)==29?'小':'大')+'</b>';

else//显示农历日

lObj.innerHTML= cDay(cld[sD].lDay);

s=cld[sD].lunarFestival;

if(s.length>0){//农历节日

if(s.length>6) s= s.substr(0, 4)+'…';

s= s.fontcolor('red');

}

else{//国历节日

s=cld[sD].solarFestival;

if(s.length>0){

size=(s.charCodeAt(0)>0&& s.charCodeAt(0)<128)?8:4;

if(s.length>size+2) s= s.substr(0, size)+'…';

s= s.fontcolor('blue');

}

else{//廿四节气

s=cld[sD].solarTerms;

if(s.length>0) s= s.fontcolor('limegreen');

}

}

if(s.length>0) lObj.innerHTML= s;

}

else{//非日期

sObj.innerHTML='';

lObj.innerHTML='';

}

}

}

function changeLong()

{

var y,m,ly,lm,id,im,iy,yangy,yangm,deltm,miny,tt;

CLD.SY.selectedIndex=CLD.D1.selectedIndex;

CLD.SM.selectedIndex=CLD.D2.selectedIndex;

yangm=0;yangy=0;

tt=true;

while(tt)

{

yangm=0;yangy=0;

changeCld();

for(i=0;i<42;i++)

{

sD= i- cld.firstWeek;

if(sD>-1&& sD<cld.length)

{//日期内

if((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))

{

yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex;

tt=false;

break;

}

}

}

if(!tt) break;

pushBtm('MD');

changeCld();

// alert(CLD.SY.selectedIndex+""+CLD.SM.selectedIndex);

for(i=0;i<42;i++)

{

sD= i- cld.firstWeek;

if(sD>-1&& sD<cld.length)

{//日期内

if((cld[sD].lMonth==CLD.D2.selectedIndex+1)&&(cld[sD].lYear==CLD.D1.selectedIndex+1900))

{

yangy=CLD.SY.selectedIndex+1900; yangm=CLD.SM.selectedIndex;

tt=false;

break;

}

}

}

break;

}

// alert(yangy+""+yangm);

//CLD.SY.selectedIndex=yangy;//-1900;

//pushBtm('YU');

//pushBtm('YD');

CLD.SM.selectedIndex=yangm;

pushBtm('MD');

pushBtm('MU');

}

//changeLong end

function changeCld(){

var y,m;

y=CLD.SY.selectedIndex+1900;

m=CLD.SM.selectedIndex;

drawCld(y,m);

}

function pushBtm(K){

switch(K){

case'YU':

if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;

break;

case'YD':

if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;

break;

case'MU':

if(CLD.SM.selectedIndex>0){

CLD.SM.selectedIndex--;

}

else{

CLD.SM.selectedIndex=11;

if(CLD.SY.selectedIndex>0) CLD.SY.selectedIndex--;

}

break;

case'MD':

if(CLD.SM.selectedIndex<11){

CLD.SM.selectedIndex++;

}

else{

CLD.SM.selectedIndex=0;

if(CLD.SY.selectedIndex<149) CLD.SY.selectedIndex++;

}

break;

default:

CLD.SY.selectedIndex=tY-1900;

CLD.SM.selectedIndex=tM;

}

changeCld();

}

var Today= new Date();

var tY= Today.getFullYear();

var tM= Today.getMonth();

var tD= Today.getDate();

//////////////////////////////////////////////////////////////////////////////

var width="130";

var offsetx= 2;

var offsety= 16;

var x= 0;

var y= 0;

var snow= 0;

var sw= 0;

var cnt= 0;

var dStyle;

document.onmousemove= mEvn;

//显示详细日期资料

function mOvr(v){

var s,festival;

var sObj=eval('SD'+ v);

var d=sObj.innerHTML-1;

//sYear,sMonth,sDay,week,

//lYear,lMonth,lDay,isLeap,

//cYear,cMonth,cDay

if(sObj.innerHTML!=''){

sObj.style.cursor='s-resize';

if(cld[d].solarTerms==''&& cld[d].solarFestival==''&& cld[d].lunarFestival=='')

festival='';

else

festival='<TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR="#CCFFCC"><TR><TD>'+

'<FONT COLOR="#000000" STYLE="font-size:9pt;">'+cld[d].solarTerms+''+ cld[d].solarFestival+''+ cld[d].lunarFestival+'</FONT></TD>'+

'</TR></TABLE>';

s='<TABLE WIDTH="130" BORDER=0 CELLPADDING="2" CELLSPACING=0 BGCOLOR="#000066"><TR><TD>'+

'<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ALIGN="right"><FONT COLOR="#ffffff" STYLE="font-size:9pt;">'+

cld[d].sYear+'年'+cld[d].sMonth+'月'+cld[d].sDay+'日<br>星期'+cld[d].week+'<br>'+

'<font color="violet">农历'+(cld[d].isLeap?'闰':'')+cld[d].lMonth+'月'+cld[d].lDay+'日</font><br>'+

'<font color="yellow">'+cld[d].cYear+'年'+cld[d].cMonth+'月'+cld[d].cDay+'日</font>'+

'</FONT></TD></TR></TABLE>'+ festival+'</TD></TR></TABLE>';

document.all["detail"].innerHTML= s;

if(snow== 0){

dStyle.left= x+offsetx-(width/2);

dStyle.top= y+offsety;

dStyle.visibility="visible";

snow= 1;

}

}

}

网页日历弹窗消失太快无法调试样式怎么办

可以通过巧妙运用setTimeout函数和debugger语句,在弹窗消失前暂停代码执行,从而捕获其DOM结构进行样式调试。具体操作步骤如下:

打开浏览器开发者工具:

按下键盘上的F12键,或者右键点击网页页面,在弹出的菜单中选择“检查”或“检查元素”,以此打开开发者工具。

在控制台输入并执行代码:

在开发者工具的控制台面板中,输入以下代码:setTimeout(()=>{ debugger;}, 2000);

这段代码的作用是设置一个定时器,在2000毫秒(即2秒)后触发debugger语句。当浏览器执行到debugger语句时,会进入调试模式并暂停代码的执行。这里的2000毫秒只是一个示例值,你可以根据实际情况进行调整。如果发现2秒时间过长导致弹窗已经消失,或者过短导致调试时间不足,都可以修改这个毫秒数,通过多次尝试找到最适合的暂停时间点。

点击打开日历弹窗:

在输入并执行上述代码后,立即点击网页上的日历图标或者与打开日历弹窗相关的元素,使日历弹窗显示出来。

浏览器暂停执行:

当到达设定的时间(如2000毫秒)后,浏览器执行到debugger语句,此时会暂停代码的执行。由于暂停的时机是在弹窗显示之后且还未到其自动消失的时间,所以日历弹窗仍然会保持在可见状态。

在开发者工具中选择元素并修改样式:

利用开发者工具中的“元素”或“检查器”面板(不同浏览器可能名称略有差异),找到日历弹窗对应的DOM元素。

找到目标元素后,就可以根据需要对它的CSS样式进行修改了。例如,可以修改弹窗的背景颜色、字体大小、边框样式等。

调整setTimeout的时间参数(如有需要):

如果在调试过程中发现按照最初设置的2000毫秒,弹窗还是消失太快,导致来不及进行充分的样式调试,或者等待时间过长影响效率,那么可以再次修改setTimeout函数中的毫秒数。比如,将时间缩短为1000毫秒(1秒)或者延长为3000毫秒(3秒)等,通过多次尝试,找到一个最合适的暂停时间点,以便更高效地完成样式调试工作。

求一段日历控件事件网页代码

<html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body bgcolor="#FFFFFF" text="#000000" leftMargin="0" topMargin="0">

<script>

Seperator="-";

var DateStr="";

// value为指定格式的日期字符串

function SetDateFromCalendar(value)

{

if(top.frames.length>0)

{

top.frames("mainFrame").DateObjCtrl_SetDateValue(value);

}

else

{

parent.DateObjCtrl_SetDateValue(value);

}

DateStr= value;

}

//返回日期字符串

function public_getSelectedDate()

{

return DateStr;

}

</script>

<script language="JavaScript">

var gdCtrl= new Object();

var gcGray="#808080";

var gcToggle="#ffff00";

var gcBG="#cccccc";

var gdCurDate= new Date();

var giYear= gdCurDate.getFullYear();

var giMonth= gdCurDate.getMonth()+1;

var giDay= gdCurDate.getDate();

var VicPopCal= new Object();

//显示日历控件

function fPopCalendar(popCtrl, dateCtrl, popCal){

parent.event.cancelBubble=true;

VicPopCal= popCal;//弹出日历控件的ID

gdCtrl= dateCtrl;//得到日期数字的控件ID, popCtrl是指定日期控件出现位置的标识

fSetYearMon(giYear, giMonth);

var point= fGetXY(popCtrl);//得到popCtrl的坐标

with(VicPopCal.style){

left= point.x;

top= point.y+popCtrl.offsetHeight+1;//设置日历控件的坐标

visibility='visible';

}

VicPopCal.focus();

}

//隐藏日历控件,设置gdCtrl的值,单击今天日期后执行该函数

//直接得到日期字符串

function fSetDate(iYear, iMonth, iDay){

gdCtrl.value= iMonth+"-"+iDay+"-"+iYear;//Here, you could modify the locale as you need!!!!

VicPopCal.style.visibility="hidden";

}

//单击表格执行此函数

function fSetSelected(aCell){

var iOffset= 0;

var iYear= parseInt(tbSelYear.value);

var iMonth= parseInt(tbSelMonth.value);

aCell.bgColor= gcBG;

//此段代码,控制要是点中的不是当月的日期,自动得到前一个月或后一个月

with(aCell.children["cellText"]){

var iDay= parseInt(innerText);

if(color==gcGray)

iOffset=(Victor<10)?-1:1;

iMonth+= iOffset;

if(iMonth<1){

iYear--;

iMonth= 12;

}else if(iMonth>12){

iYear++;

iMonth= 1;

}

}

//获得年月日期数

var dateText= parseInt(aCell.innerText);

if(iMonth<10)

iMonth="0"+ iMonth;

if(aCell.innerText<10)

dateText="0"+ dateText;

//将年月日组成指定字符串传给回传函数

SetDateFromCalendar(iYear+ Seperator+ iMonth+ Seperator+ dateText);

}

//指定当前object的显示位置

function Point(iX, iY){

this.x= iX;

this.y= iY;

}

//建立当月的日期数组

function fBuildCal(iYear, iMonth){//传过来的月加了1,表示下一月

var aMonth=new Array();

for(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(d= 0; d< 7; d++)

aMonth[1][d]=(d<iDayOfFirst)?-(iOffsetLast+d):iDate++;

for(w= 2; w< 7; w++)

for(d= 0; d< 7; d++)

aMonth[w][d]=(iDate<=iDaysInMonth)?iDate++:-(iNext++);

return aMonth;

}

//画出星期title,和显示数据

function fDrawCal(iYear, iMonth, iCellWidth, iDateTextSize){

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

var styleTD=" bgcolor='"+gcBG+"' width='"+iCellWidth+"' bordercolor='"+gcBG+"' valign='middle' align='center' style='font:bold"+iDateTextSize+" Courier;";

with(document){

write("<tr>");

for(i=0; i<7; i++)

write("<td"+styleTD+"color:#990099'>"+ WeekDay[i]+"</td>");

write("</tr>");

for(w= 1; w< 7; w++){

write("<tr>");

for(d= 0; d< 7; d++){

write("<td id=calCell"+styleTD+"cursor:hand;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' onclick='fSetSelected(this)'>");

write("<font id=cellText Victor='KinLee'></font>");

write("</td>")

}

write("</tr>");

}

}

}

//填入表格日期数据,可用的和不可用的用不同的底色来区分

function fUpdateCal(iYear, iMonth){

myMonth= fBuildCal(iYear, iMonth);//初始化当月的日期显示数组

var i= 0;

for(w= 0; w< 6; w++)

for(d= 0; d< 7; d++)

with(cellText[(7*w)+d]){// cellText是表格的标识,都叫cellText,用下标来指示

Victor= i++;

if(myMonth[w+1][d]<0){

color= gcGray;

innerText=-myMonth[w+1][d];

}else{

color=((d==0)||(d==6))?"red":"black";//星期六、日颜色为红色

innerText= myMonth[w+1][d];

}

}

}

//在下拉框中选中当前年和月,然后更新数据显示

function fSetYearMon(iYear, iMon){

tbSelMonth.options[iMon-1].selected= true;

for(i= 0; i< tbSelYear.length; i++)

if(tbSelYear.options[i].value== iYear)

tbSelYear.options[i].selected= true;

fUpdateCal(iYear, iMon);

}

//上一月

function fPrevMonth(){

var iMon= tbSelMonth.value;

var iYear= tbSelYear.value;

if(--iMon<1){

iMon= 12;

iYear--;

}

fSetYearMon(iYear, iMon);

}

//下一月

function fNextMonth(){

var iMon= tbSelMonth.value;

var iYear= tbSelYear.value;

if(++iMon>12){

iMon= 1;

iYear++;

}

fSetYearMon(iYear, iMon);

}

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;

}

var gMonths= new Array("01","02","03","04","05","06","07","08","09","10","11","12");

//打印出年月日的显示的表格,之后再填入数字

with(document){

write("<table id='popTable' border='0' bgcolor='#6699cc'>");

write("<TR>");

write("<td valign='middle' align='center'><input type='button' name='PrevMonth' value='<' style='height:20;width:20;FONT:16 Fixedsys' onClick='fPrevMonth()'>");

write("<SELECT name='tbSelYear' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");

for(i=2000;i<3000;i++)

write("<OPTION value='"+i+"'>"+i+"</OPTION>");

write("</SELECT>");

write("<select name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");

for(i=0; i<12; i++)

write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");

write("</SELECT>");

write("<input type='button' name='NextMonth' value='>' style='height:20;width:20;FONT:16 Fixedsys' onclick='fNextMonth()'>");

write("</td>");

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

write("<td align='center'>");

write("<DIV style='background-color:teal;'><table width='100%' border='0' cellpadding='2'>");

fDrawCal(giYear, giMonth, 19, 12);

write("</table></DIV>");

write("</td>");

write("</TR><TR><TD align='center'>");

write("<font style='cursor:hand;font:12 Fixedsys' onclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=0'>今天是:"+giYear+"年"+gMonths[giMonth-1]+"月"+giDay+"日"+"</font>");

write("</TD></TR>");write("</TD></TR>");

write("</TABLE>");

}

var today= new Date();

//用当前的日期更新月历显示

fSetYearMon(today.getFullYear(), today.getMonth()+ 1);

//填入表格日期数据,可用的和不可用的用不同的底色来区分

//fUpdateCal(today.getFullYear(), today.getMonth()+ 1);

</script>

</body>

</html>

好了,文章到这里就结束啦,如果本次分享的网页日历代码和一天一页日历台历问题对您有所帮助,还望关注下本站哦!

html语言入门代码大全 html语言教程pdfcss网页设计代码作业,HTML+CSS网页设计与制作