分享
 
 
 

js日历控件点击日期后文本框显示

王朝学院·作者佚名  2009-09-15
窄屏简体版  字體: |||超大  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

<script>

var myC_x,myC_y;

var myC_timeset=null,myC_timeset1=null;

var divObj=null;

var inputName;

function myCalendar() //构建对象

{

var myDate = new Date();

this.year = myDate.getFullYear();

this.month = myDate.getMonth()+1;

this.date = myDate.getDate();

this.format="yyyy-mm-dd";

this.style = myStyle(1);

this.show = createCalendar;

this.input = createInput;

}

function myStyle(num) //设置样式

{

if(!num||isNaN(num)){alert('参数不对,采用默认样式!');num=1;}

var style = new Array();

style[1]=".week{background-color:#DfDfff;font-size:12px;width:140px;}"

+".ds{width:140px;font-size:12px;cursor:hand}"

+".mover{border:1px solid black;background-color:#f4f4f4;}"

+".move1{border:1px solid #5d5d5d;background-color:#f4f4f4;color:#909eff;font-size:12px}"

+".tit{background-color:#909EFF;width:140px;font-size:12px;color:white;cursor:default}"

+".cs{position:absolute;border:1px solid #909eff;width:142px;left:0px;top:0px;z-index:9999;}"

+".shadow{position:absolute;left:0px;top:0px;font-family: Arial Black;font-size:50px;color:#d4d4d4;z-index:1;text-align:center;}";

document.write("<style type='text/css'>");

document.write(style[num]);

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

}

function createCalendar()

{

var week = new Array('日','一','二','三','四','五','六');

document.write("<div class='cs' onselectstart='return false' oncontextmenu='return false' onmousedown='if(event.button==2)this.style.display=\"none\"' id='myC_div'><div class='shadow'></div><div style='position:absolute;left:0px;top:0px;z-index:1'>");

//创建头部

document.write("<table class='tit' id='myC_Top' onmousedown='myC_x=event.x-parentNode.parentNode.style.pixelLeft;myC_y=event.y-parentNode.parentNode.style.pixelTop;setCapture()' onmouseup='releaseCapture();' onmousemove='myCMove(this.parentElement.parentElement);'><tr><td width=10 onmouseover='this.style.color=\"black\"' onmouseout='this.style.color=\"\"' onclick='cutYear()' style='font-family: Webdings;cursor:hand;' title='减少年份'>7</td><td title='减少月份' onmouseover='this.style.color=\"black\"' onclick='cutMonth()' onmouseout='this.style.color=\"\"' width=10 style='font-family: Webdings;cursor:hand;'>3</td><td align=center onmouseover=this.className='move1'; onmouseout=this.className='';divHidden(myC.parentElement.nextSibling); onclick='createyear("+this.year+",this);divShow(myC.parentElement.nextSibling);'></td><td align=center onclick='createmonth("+this.month+",this);divShow(myC.parentElement.nextSibling)' onmouseover=this.className='move1'; onmouseout=this.className='';divHidden(myC.parentElement.nextSibling);></td><td width=10 onmouseover='this.style.color=\"black\"' onmouseout='this.style.color=\"\"' onclick='addMonth()' style='font-family: Webdings;cursor:hand;' title='增加月份'>4</td><td width=10 style='font-family: Webdings;cursor:hand;' onmouseover='this.style.color=\"black\"' onmouseout='this.style.color=\"\"' onclick='addYear()' title='增加年份'>8</td></tr></table>");

//创建星期条目

document.write("<table class='week'><tr>");

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

document.write("<td align=center>"+week[i]+"</td>");

document.write("</tr></table>");

//创建日期条目

document.write("<table class='ds' id='myC' cellspacing=2 cellpadding=0>");

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

{

document.write("<tr>");

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

document.write("<td width=10% height=16 align=center onmouseover='mOver(this)' onmouseout='mOut(this)' onclick='if(this.innerText!=\"\")getValue(inputName,this.innerText);myC_div.style.display=\"none\"'></td>");

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

}

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

//建建水印

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

//创建选择图层

document.write("<div style='position:absolute;left:0px;top:0px;z-index:3' onmouseover=divShow(this) onmouseout=divHidden(this)></div>");

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

//显示日期

showDate(this.year,this.month);

myC_div.style.display='none';

}

function getValue(obj,value)

{

eval(obj).value=parseInt(myC_Top.cells[2].innerText)+"-"+parseInt(myC_Top.cells[3].innerText)+"-"+value;

}

function showDate(year,month)

{

var myDate = new Date(year,month-1,1);

var today = new Date();

var day = myDate.getDay();

var length = new Array(31,30,31,30,31,30,31,31,30,31,30,31);

length[1] = ((year%4==0)&&(year%100!=0)||(year%400==0))?29:28;

for(i=0;i<myC.cells.length;i++)myC.cells[i].innerHTML = "";

for(i=0;i<length[month-1];i++)

{

myC.cells[i+day].innerHTML = (i+1);

if(new Date(year,month-1,i+1).getDay()==6||new Date(year,month-1,i+1).getDay()==0){myC.cells[i+day].style.color='red';}

}

myC_Top.cells[2].innerText=year+"年";

myC_Top.cells[3].innerText=month+"月";

with(myC.parentNode.previousSibling.style)

{

pixelLeft=myC.offsetLeft;

pixelTop=myC.offsetTop;

height = myC.clientHeight;

width = myC.clientWidth;

}

myC.parentElement.parentElement.style.height=myC.parentElement.offsetHeight;

myC.parentElement.previousSibling.innerHTML=year;

}

//一些附加函数--------------------

//---------Begin-------------------

function mOver(obj){obj.className = 'mover';}

function mOut(obj){if(obj.className=='mover')obj.className = '';}

function addYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText); year++;showDate(year,month);}

function addMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month++;if(month>12){month=1;year++;}showDate(year,month);}

function cutYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);year--;showDate(year,month);}

function cutMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month--;if(month<1){month=12;year--;}showDate(year,month);}

function divS(obj)

{

if(obj!=divObj)

{

obj.style.backgroundColor="#909eff";

obj.style.color='black';

}

if(divObj!=null)

{

divObj.style.backgroundColor='';

divObj.style.color='';

}

divObj = obj;

}

function divShow(obj)

{ if (myC_timeset!=null) clearTimeout(myC_timeset);

obj.style.display='block';

}

function divHidden(obj){myC_timeset=window.setTimeout(function(){obj.style.display='none'},500);}

function createyear(year,obj)//创建年份选择

{

var ystr;

var oDiv;

ystr="<table class='move1' cellspacing=0 cellpadding=2 width="+obj.offsetWidth+">";

ystr+="<tr><td style='cursor:hand' onclick='createyear("+(year-20)+",myC_Top.cells[2])' align=center>上翻</td></tr>";

for(i=year-10;i<year+10;i++)

if(year==i)

ystr+="<tr style='background-color:#909eff'><td style='color:black;height:16px;cursor:hand' align=center onclick='myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=\"\"'>"+i+"年</td></tr>";

else

ystr+="<tr><td align=center style='cursor:hand' onmouseover=divS(this) onclick='myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=\"\"'>"+i+"年</td></tr>";

ystr+="<tr><td style='cursor:hand' onclick='createyear("+(year+20)+",myC_Top.cells[2])' align=center>下翻</td></tr>";

ystr+="</table>";

oDiv = myC.parentElement.nextSibling;

oDiv.innerHTML='';

oDiv.innerHTML = ystr;

showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft);

}

function createmonth(month,obj)//创建月份选择

{

var mstr;

var oDiv;

mstr="<table class='move1' cellspacing=0 cellpadding=2 width="+(obj.offsetWidth+5)+">";

for(i=1;i<13;i++)

if (month==i)

mstr+="<tr style='background-color:#909eff'><td style='color:black;height:16px;cursor:hand' align=center onclick='myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=\"\"'>"+i+"月</td></tr>";

else

mstr+="<tr><td align=center style='cursor:hand' onmouseover='divS(this)' onclick='myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=\"\"'>"+i+"月</td></tr>";

mstr+="</table>";

oDiv = myC.parentElement.nextSibling;

oDiv.innerHTML='';

oDiv.innerHTML = mstr;

showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft);

}

function showDiv(obj,top,left)

{

obj.style.pixelTop=top;

obj.style.pixelLeft=left;

}

function myCMove(obj)

{

if(event.button==1)

{

var X = obj.clientLeft;

var Y = obj.clientTop;

obj.style.pixelLeft= X+(event.x-myC_x);

obj.style.pixelTop= Y+(event.y-myC_y);

window.status=myC_y;

}

}

function showDiv2(obj)

{

inputName=obj.name;

var e=obj;

var ot = obj.offsetTop;

var ol=obj.offsetLeft;

while(obj=obj.parentElement){ot+=obj.offsetTop;ol+=obj.offsetLeft;}

myC_div.style.pixelTop=ot+e.offsetHeight;

myC_div.style.pixelLeft=ol;

myC_div.style.display="block";

}

function createInput(name)

{myC_div.style.display='none';

document.write("<input type='text' name='"+name+"' size=20 onfocus='showDiv2(this)'>");

}

// --------------End ---------------------

</script>

<script>

var myCalendar=new myCalendar;

myCalendar.year=2009;

myCalendar.show();

myCalendar.input("txt1");

</script>

</HEAD>

<BODY>

<input type="text" name="test" onfocus="showDiv2(this)" readonly=true>

</BODY>

</HTML>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有