81,094
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
html,body{ font-size:12px; font-family:"Courier New", Courier, monospace; margin:0px; padding:0px;}
#calendar{margin:50px;width:150px;font-size:12px;}
#calendar table{ border-collapse:collapse;}
#calendar table td{ height:20px; width:20px; border:1px solid #ff6600; text-align:center;}
#calendar .calendarTitle table .threetd{ width:62px;}
#calendar .calendarTitle table .twotd{ width:41px;}
#calendar .calendarTitle table td{ border-bottom:0px;}
.classOver{ background:#000000; color:#FFFFFF;}
.yearContainer{background:#ffffff;border:1px solid #ff6600;position:absolute;width:62px;}
.yearContainer ul{list-style:none;margin:0px;padding:0px;}
.yearContainer ul li{height:18px;line-height:18px;display:block;text-align:center;}
.monthContainer{background:#ffffff;border:1px solid #ff6600;position:absolute;width:41px;}
.monthContainer ul{list-style:none;margin:0px;padding:0px;}
.monthContainer ul li{height:18px;line-height:18px;display:block;text-align:center;}
a{ text-decoration:none; color:#990000;}
</style>
</head>
<body>
<script type="text/javascript">
var titleTable="<div id=\"calendar\"><div class=\"calendarTitle\">";
titleTable+="<table width=\"0%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td>";
titleTable+="<a href=\"javascript:void(0)\" onclick=\"SloppyJs.calendar.getNewTime('b')\" onfocus=\"this.blur()\" title='上月'><</a></td>";
titleTable+="<td class=\"threetd\" id=\"currentYear\" onclick=\"SloppyJs.calendar.writeDivString('currentYear','yeartype')\"> </td>";
titleTable+="<td class=\"twotd\" id=\"currentMonth\" onclick=\"SloppyJs.calendar.writeDivString('currentMonth','monthtype')\"> </td>";
titleTable+="<td><a href=\"javascript:void(0)\" onclick=\"SloppyJs.calendar.getNewTime('n')\" onfocus=\"this.blur()\" title='下月'>></a></td></tr></table></div>";
var SloppyJs={};
(function(){
SloppyJs.calendar={
getDateString:function(y,m){
var DayArray=[];
for(var i=0;i<42;i++) DayArray[i]=" ";
for(var i=0;i<new Date(y,m,0).getDate();i++)DayArray[i+new Date(y,m-1,1).getDay()]=i+1;
return DayArray;
},
getConString:function(y,m){
var DStr="<table width=\"0%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>";
var DateArray=['日','一','二','三','四','五','六'];
for(var i=0;i<7;i++){
DStr+="<td>"+DateArray[i]+"</td>";
}
DStr+="</tr>";
for(var i=0;i<6;i++){
DStr+="<tr>";
for(var j=0;j<7;j++){
var CS=new Date().getDate()==this.getDateString(y,m)[i*7+j]?"classOver":"";
if(this.getDateString(y,m)[i*7+j]==" "){
DStr+="<td class='"+CS+"' id='dateNum"+(i*7+j)+"'onclick=\"SloppyJs.calendar.alertClick(event)\" >"+this.getDateString(y,m)[i*7+j]+"</td>";
}else{
DStr+="<td class='"+CS+"' id='dateNum"+(i*7+j)+"' onclick=\"SloppyJs.calendar.alertClick(event)\">"+this.getDateString(y,m)[i*7+j]+"</td>";
}
}
DStr+="</tr>";
}
DStr+="</table>";
return DStr;
},
rewriteConString:function(y,m){
var TArray=this.getDateString(y,m);
var len=TArray.length;
for(var i=0;i<len;i++){
document.getElementById('dateNum'+i).innerHTML=TArray[i];
document.getElementById('dateNum'+i).className="";
if(new Date().getYear()==y&&new Date().getMonth()+1==m&&new Date().getDate()==TArray[i]){
document.getElementById('dateNum'+i).className="classOver";
}
}
},
getNewTime:function(action){
var YearNO=document.getElementById('currentYear').innerHTML;
var MonthNO=document.getElementById('currentMonth').innerHTML;
if(action=="b"){
if(MonthNO=="1"){
MonthNO=13;
YearNO=YearNO-1;
}
document.getElementById('currentMonth').innerHTML=MonthNO-1;
document.getElementById('currentYear').innerHTML=YearNO;
this.rewriteConString(YearNO,MonthNO-1);
}
if(action=="n"){
if(MonthNO=="12"){
MonthNO=0;
YearNO=YearNO-(-1);
}
document.getElementById('currentYear').innerHTML=YearNO;
document.getElementById('currentMonth').innerHTML=MonthNO-(-1);
this.rewriteConString(YearNO,MonthNO-(-1));
}
},
writeDivString:function(){
var _element=document.getElementById(arguments[0]);
_element.style.position="relative";
var _value=_element.innerHTML;
//year
if(arguments[1]=="yeartype"){
var _containerid="yeardiv";
if(document.getElementById(_containerid)){
var _c=document.getElementById(_containerid);
document.body.removeChild(_c);
}
if(document.getElementById("monthdiv")){
var _cc=document.getElementById("monthdiv");
document.body.removeChild(_cc);
}
var _container=document.createElement("div");
_container.setAttribute("id",_containerid);
_container.className="yearContainer";
var _ul=document.createElement("ul");
for(var i=0;i<15;i++){
var _li=document.createElement("li");
var _text=document.createTextNode(_value-7+i);
_li.appendChild(_text);
_ul.appendChild(_li);
}
_container.appendChild(_ul);
_container.style.top=_element.offsetTop+20+"px";
_container.style.left=_element.offsetLeft+"px";
document.body.appendChild(_container);
var _ali=document.getElementById(_containerid).getElementsByTagName("li");
for(var j=0;j<_ali.length;j++){
_ali[j].onmouseover=function(){
this.style.background="#ff0000";
this.style.color="#FFFFFF";
this.style.cursor="pointer";
};
_ali[j].onmouseout=function(){
this.style.background="#ffffff";
this.style.color="#000000";
};
_ali[j].onclick=function(){
document.getElementById("yeardiv").style.display="none";
_element.innerHTML=this.innerHTML;
var _alii=document.getElementById(_containerid).getElementsByTagName("li");
for(var k=0;k<_alii.length;k++){
_ul.removeChild(_alii[k]);
}
_container.removeChild(_ul);
document.body.removeChild(_container);
_element.style.position="";
var _y=document.getElementById('currentYear').innerHTML;
var _m=document.getElementById('currentMonth').innerHTML;
SloppyJs.calendar.rewriteConString(_y,_m);
};
}
_container.onmouseout=function(){
this.style.display="none";
_element.style.position="";
};
_container.onmouseover=function(){
this.style.display="";
};
}
//month
if(arguments[1]=="monthtype"){
var _containerid="monthdiv";
if(document.getElementById(_containerid)){
var _c=document.getElementById(_containerid);
document.body.removeChild(_c);
}
if(document.getElementById("yeardiv")){
var _cc=document.getElementById("yeardiv");
document.body.removeChild(_cc);
}
var _container=document.createElement("div");
_container.setAttribute("id",_containerid);
_container.className="monthContainer";
var _ul=document.createElement("ul");
for(var i=0;i<12;i++){
var _li=document.createElement("li");
var _text=document.createTextNode(i+1);
_li.appendChild(_text);
_ul.appendChild(_li);
}
_container.appendChild(_ul);
_container.style.top=_element.offsetTop+20+"px";
_container.style.left=_element.offsetLeft+"px";
document.body.appendChild(_container);
var _ali=document.getElementById(_containerid).getElementsByTagName("li");
for(var l=0;l<_ali.length;l++){
_ali[l].onmouseover=function(){
this.style.background="#ff0000";
this.style.color="#FFFFFF";
this.style.cursor="pointer";
};
_ali[l].onmouseout=function(){
this.style.background="#ffffff";
this.style.color="#000000";
};
_ali[l].onclick=function(){
document.getElementById(_containerid).style.display="none";
_element.innerHTML=this.innerHTML;
var _alii=document.getElementById(_containerid).getElementsByTagName("li");
for(var k=0;k<_alii.length;k++){
_ul.removeChild(_alii[k]);
}
_container.removeChild(_ul);
document.body.removeChild(_container);
_element.style.position="";
var _y=document.getElementById('currentYear').innerHTML;
var _m=document.getElementById('currentMonth').innerHTML;
SloppyJs.calendar.rewriteConString(_y,_m);
};
}
_container.onmouseout=function(){
this.style.display="none";
_element.style.position="";
};
_container.onmouseover=function(){
this.style.display="";
};
}
},
alertClick:function(e){
var e=e||event;
var targets=e.target||event.srcElement;
alert(targets.innerHTML);
}
};
})();
function writeCalendar(){
document.write(titleTable);
var _todayYear=document.getElementById('currentYear').innerHTML=new Date().getFullYear();
var _todayMonth=document.getElementById('currentMonth').innerHTML=new Date().getMonth()+1;
var _calendarStr=SloppyJs.calendar.getConString(_todayYear,_todayMonth);
document.write(_calendarStr+"</div>");
};
writeCalendar();
</script>
</body>
</html>
......
scheduler.setLoadMode("year");
......