`
tiandirensoon
  • 浏览: 594360 次
文章分类
社区版块
存档分类
最新评论

好多Javascript日期选择器呀--3

 
阅读更多

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<!--savedfromurl=(0045)<ahref="http://e.goldia.cn/plus/calendar/calendar.htm"target="_blank">http://e.goldia.cn/plus/calendar/calendar.htm</a>-->
<HTML><HEAD>
<METAhttp-equiv=Content-Typecontent="text/html;charset=gb2312">
<SCRIPTtype=text/javascript>
String.prototype.Format=function(){
vartmpStr=this;
variLen=arguments.length;
for(vari=0;i<iLen;i++){
tmpStr=tmpStr.replace(newRegExp("//{"+i+"//}","g"),arguments[i]);
}
returntmpStr;
}
Calendar={
//regionProperty
today:newDate(),
year:2005,
month:8,
date:21,
curPosX:0,
curPosY:0,
curCapture:null,
curDay:null,
//endregion

//regionMethod
display:
function(o,e,d){
with(Calendar){
o=typeof(o)=="object"?o:document.getElementById(o);
if(window.event){
curPosX=document.body.scrollLeft+event.x;
curPosY=document.body.scrollTop+event.y;
}else{
curPosX=e.pageX;
curPosY=e.pageY;
}
if(o.value==""&&d)o.value=d;
with(document.getElementById("Calendar__")){
if(o!=curCapture){
curCapture=o;
if(style.display=="block"){
style.left=curPosX+"px";
style.top=curPosY+"px";
}
elseload();
}
else{
if(style.display=="block")style.display="none";
elseload();
}
}
}
},
load:
function(){
with(Calendar){
curDay=loadDate(curCapture.value);
with(curDay){
year=getFullYear();
month=getMonth()+1;
date=getDate();
}
init();
}
},
init:
function(){
with(Calendar){
with(newDate(year,month-1,date)){
year=getFullYear();
month=getMonth()+1;
date=getDate();
setDate(1);
varfirst=getDay();
setMonth(getMonth()+1,0)
paint(first,getDate());
}
}
},
paint:
function(first,last){
varcalendar=document.getElementById("Calendar__");
vargrid=document.getElementById("dataGrid__");
vari,l;
l=Math.ceil((first+last)/7);
if(!document.all){
calendar.style.height=(41+19*Math.ceil((first+last)/7))+"px";
}
grid.innerHTML=newArray(l*7+1).join("<li><a></a></li>");
with(Calendar){
varstrDate="{0}-{1}".Format(year,month);
varisTodayMonth=((year==today.getFullYear())&&(month==today.getMonth()+1));
varisCurdayMonth=((year==curDay.getFullYear())&&(month==curDay.getMonth()+1));
vartodayDate=today.getDate();
for(i=0;i<last;i++){
grid.childNodes[first+i].innerHTML='<ahref="{2}-{1}"{0}onclick="Calendar.setValue({1});returnfalse">{1}</a>'.Format(((i+1)==todayDate&&isTodayMonth)?'class="today"':isCurdayMonth&&(i+1)==curDay.getDate()?'class="curDay"':'',i+1,strDate);
}
document.getElementById("dateText__").innerHTML='<ahref="'+(year-1)+'年"onclick="Calendar.turn(-12);returnfalse"title="上一年"><<</a><ahref="上一月"onclick="Calendar.turn(-1);returnfalse"title="上一月"><</a>'+year+"-"+month+'<ahref="下一月"onclick="Calendar.turn(1);returnfalse"title="下一月">></a><ahref="'+(year+1)+'年"onclick="Calendar.turn(12);returnfalse"title="下一年">>></a>';
with(calendar){
style.left=Calendar.curPosX+"px";
style.top=Calendar.curPosY+"px";
style.display="block";
}
}
},
turn:
function(num){
Calendar.month+=num;
Calendar.date=1;
Calendar.init();
},
setValue:
function(val){
with(Calendar){
curCapture.value="{0}-{1}-{2}".Format(year,month,val);
document.getElementById("Calendar__").style.display="none";
}
},
loadDate:
function(op,formatString){
formatString=formatString||"ymd";
varm,year,month,day;
switch(formatString){
case"ymd":
m=op.match(newRegExp("^((//d{4})|(//d{2}))([-./])(//d{1,2})//4(//d{1,2})$"));
if(m==null)returnnewDate();
day=m[6];
month=m[5]*1;
year=(m[2].length==4)?m[2]:GetFullYear(parseInt(m[3],10));
break;
case"dmy":
m=op.match(newRegExp("^(//d{1,2})([-./])(//d{1,2})//2((//d{4})|(//d{2}))$"));
if(m==null)returnnewDate();
day=m[1];
month=m[3]*1;
year=(m[5].length==4)?m[5]:GetFullYear(parseInt(m[6],10));
break;
default:
break;
}
if(!parseInt(month))returnnewDate();
month=month==0?12:month;
vardate=newDate(year,month-1,day);
return(typeof(date)=="object"&&year==date.getFullYear()&&month==(date.getMonth()+1)&&day==date.getDate())?date:newDate();
functionGetFullYear(y){return((y<30?"20":"19")+y)|0;}
},
toString:function(){return["Calendarv1.0","author:我佛山人","email:wfsr@msn.com","version:1.0"].join("/n");}
//endregion
}
var__calendar_html="<style>";
__calendar_html+="#Calendar__{background-color:#eeeeee;width:157!important;width:154px;position:absolute;display:none}";
__calendar_html+="#Calendar__ul{list-style-type:none;margin-left:-38px!important;margin:000-30px;}";
__calendar_html+="#Calendar__ulli{display:block;width:20px;margin:1px;background-color:#fff;text-align:center;float:left;font:11pxTahoma}";
__calendar_html+="#Calendar__ullia{height:18px;display:block;background-color:#fff;line-height:18px;text-decoration:none;color:#333}";
__calendar_html+="#Calendar__ullia:hover{background:#336699;color:#FFF}";
__calendar_html+="#Calendar__#dateText__{font:12pxTahoma;text-align:center}";
__calendar_html+="#Calendar__#dateText__a{font:10pxTahoma;text-decoration:none}";
__calendar_html+="#Calendar__#head__lia{font:bold12pxTahoma}";
__calendar_html+="#Calendar__#dataGrid__{}";
__calendar_html+="#Calendar__#dataGrid__lia:hover{background:#dededeurl(/plus/calendar/check.gif)rightbottomno-repeat;color:red}";
__calendar_html+="#Calendar__#dataGrid__.today{background:url(/plus/calendar/today.gif)centerno-repeat;color:blue;}";
__calendar_html+="#Calendar__#dataGrid__.curDay{background:#dededeurl(/plus/calendar/check.gif)rightbottomno-repeat;color:blue;}";
__calendar_html+="</style>";
__calendar_html+="<divid=/"Calendar__/">";
__calendar_html+="<divid=/"dateText__/"></div>";
__calendar_html+="<ulid=/"head__/"onclick=/"returnfalse/">";
__calendar_html+="<li><ahref=/"#/">日</a></li><li><ahref=/"#/">一</a></li><li><ahref=/"#/">二</a></li><li><ahref=/"#/">三</a></li><li><ahref=/"#/">四</a></li><li><ahref=/"#/">五</a></li><li><ahref=/"#/">六</a></li>";
__calendar_html+="</ul>";
__calendar_html+="<ulid=/"dataGrid__/"></ul>";
__calendar_html+="</div>";
document.write(__calendar_html);
</SCRIPT>

<METAcontent="MSHTML6.00.3790.0"name=GENERATOR></HEAD>
<BODY><INPUTid=demo><IMGonclick="Calendar.display('demo',event,'1980-6-15')"
src="calendar.gif"align=absMiddle><BR><INPUTid=demo1><IMG
onclick="Calendar.display('demo1',event)"src="calendar.gif"
align=absMiddle></BODY></HTML>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics