一个简单的日历控件
2008-09-11 11:06
525 查看
*{font-size:12px;margin:0;}
#rili{font:Arial, Helvetica, sans-serif;
font-size:12px;
background-color:#F4F4F4;
color:#336699;
text-align:center;
margin:10px;
}
.red{color:red;}
.title{font-weight:bold;}
.today{background-color:#669999;}
.affair{background:#CCCCCC;}
效果图:
var defaultDate=new Date();
var startYear,startMonth,startDay; //变量定义需要改一下,用default来定义当天的所有信息 不能改变
var defaultMonth=defaultDate.getMonth();
var defaultYear=defaultDate.getFullYear();
var tempThis=null;
var infor={
date:null,
theme:"",
content:""
};
var inforArray=[];
startYear=defaultYear;
startMonth=defaultMonth;
startDay=defaultDate.getDate();
/*月份可以选择为英文显示*/
var monthArray=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"];
var weekDayArray=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
function getFirstDay(year,month){
return new Date(year,month,01);
}
function $(o){
return (typeof o =="string")?document.getElementById(o):o;
}
/*比较两个日期是否是相同*/
function compareDate(date1,date2){
if(date1.getFullYear()==date2.getFullYear()&&date1.getMonth()==date2.getMonth()&&date1.getDate()==date2.getDate())
return true;
else
return false;
}
//前一个月
function changeMonth(sign){ //改变月份
if(sign==1&&defaultMonth==11){
defaultMonth=0;
defaultYear+=sign;
} else if(sign==-1 && defaultMonth==0){
defaultMonth=11;
defaultYear+=sign;
}
else{
defaultMonth+=sign;
}
rebuildRiLi(new Date(defaultYear,defaultMonth,1));
}
//得到快速选择的层字符串
function getDivString(sign,divWidth){
var str="";
";
return riLiString;
}
//事务检查
/*
参数设置:
event:触发的事件
day:触发的号数
*/
function checkAffair(event,day){
var e=window.event||event;
var src=e.srcElement||e.target;
tempThis=src; // 取得当前的控件
if(!$("affairDiv")){
var div=createAffairDiv(src,day); //创建层 修改信息 查看信息的层
document.body.appendChild(div);
$("affairTheme").focus();
$("affairTheme").select();
}else {
showAffairDiv(day);
}
}
//保存事务
/*
先做成每天只能保存一个记录的 今后再做调整
*/
function saveAffair(){
var reg=/^/s*||/s*$/g;
var contentString=$("affairContent").value.replace(reg,"");
var themeString=$("affairTheme").value.replace(reg,"");
if(themeString.length==0){
alert("主题不能为空");
$("affairContent").focus();
return;
}
if(contentString.length==0){
alert("内容信息不能为空");
$("affairContent").focus();
return;
}
var obj={},dateArray;
var dateString=$("affairDate").innerHTML;
if(dateString.indexOf("<")>-1)
dateArray=dateString.substring(0,dateString.indexOf("<")).split("-");
else
dateArray=dateString.split("-");
obj.date=new Date(dateArray[0],(parseInt(dateArray[1])-1),dateArray[2]);
obj.theme=themeString;
obj.content=contentString;
var aryLength=inforArray.length;
for(var i=0;i(新)";
$("affairDiv").style.display="none";
return;
}
//取消保存事务 并关闭层
function closeAffair(){
if($("affairDiv"))
$("affairDiv").style.display="none";
}
//如果已经创建了该层 就直接显示 不用创建
function showAffairDiv(day){
$("affairDiv").style.display="";
$("affairDate").innerHTML=defaultYear+"-"+(defaultMonth+1)+"-"+day; //显示的时候做加处理 由显示提取做减处理
var obj=getAffairValue(new Date(defaultYear,defaultMonth,parseInt(day)));
$("affairTheme").value=obj.theme;
$("affairContent").value=obj.content;
return;
//getAffairValue(
}
//创建事务的层
function createAffairDiv(src,value){
var div=document.createElement("div");
div.id="affairDiv";
while(src.offsetParent){
src=src.offsetParent;
if(src.tagName.toLowerCase()=="table")
break;
}
var position=getPosition(src,value);
div.style.position="absolute";
div.style.zIndex=300;
div.style.left=position.x+"px";
div.style.top=position.y+"px";
div.style.width=(src.currentStyle)?src.currentStyle.width:document.defaultView.getComputedStyle(src,null).width;
div.style.height=(src.currentStyle)?src.currentStyle.height:document.defaultView.getComputedStyle(src,null).height;
var date=new Date(defaultYear,defaultMonth,parseInt(value));
var str="
";
div.innerHTML=str;
return div;
}
//取得事务信息
/*
date为取得的时间
//sign为1的时候取得主题信息
//sign为0的时候取得内容信息
//obj为要添加内容信息的控件
*/
function getAffairValue(date){
var affairLength=inforArray.length;
if(affairLength==0)
return {theme:"",content:""};
var returnObj={theme:"",content:""};
for(var i=0;i
功能就是日历控件的基本功能,另外,添加了一个记事功能!不过只是保存到页面的一个变量里
#rili{font:Arial, Helvetica, sans-serif;
font-size:12px;
background-color:#F4F4F4;
color:#336699;
text-align:center;
margin:10px;
}
.red{color:red;}
.title{font-weight:bold;}
.today{background-color:#669999;}
.affair{background:#CCCCCC;}
效果图:
var defaultDate=new Date();
var startYear,startMonth,startDay; //变量定义需要改一下,用default来定义当天的所有信息 不能改变
var defaultMonth=defaultDate.getMonth();
var defaultYear=defaultDate.getFullYear();
var tempThis=null;
var infor={
date:null,
theme:"",
content:""
};
var inforArray=[];
startYear=defaultYear;
startMonth=defaultMonth;
startDay=defaultDate.getDate();
/*月份可以选择为英文显示*/
var monthArray=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"];
var weekDayArray=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
function getFirstDay(year,month){
return new Date(year,month,01);
}
function $(o){
return (typeof o =="string")?document.getElementById(o):o;
}
/*比较两个日期是否是相同*/
function compareDate(date1,date2){
if(date1.getFullYear()==date2.getFullYear()&&date1.getMonth()==date2.getMonth()&&date1.getDate()==date2.getDate())
return true;
else
return false;
}
//前一个月
function changeMonth(sign){ //改变月份
if(sign==1&&defaultMonth==11){
defaultMonth=0;
defaultYear+=sign;
} else if(sign==-1 && defaultMonth==0){
defaultMonth=11;
defaultYear+=sign;
}
else{
defaultMonth+=sign;
}
rebuildRiLi(new Date(defaultYear,defaultMonth,1));
}
//得到快速选择的层字符串
function getDivString(sign,divWidth){
var str="
return riLiString;
}
//事务检查
/*
参数设置:
event:触发的事件
day:触发的号数
*/
function checkAffair(event,day){
var e=window.event||event;
var src=e.srcElement||e.target;
tempThis=src; // 取得当前的控件
if(!$("affairDiv")){
var div=createAffairDiv(src,day); //创建层 修改信息 查看信息的层
document.body.appendChild(div);
$("affairTheme").focus();
$("affairTheme").select();
}else {
showAffairDiv(day);
}
}
//保存事务
/*
先做成每天只能保存一个记录的 今后再做调整
*/
function saveAffair(){
var reg=/^/s*||/s*$/g;
var contentString=$("affairContent").value.replace(reg,"");
var themeString=$("affairTheme").value.replace(reg,"");
if(themeString.length==0){
alert("主题不能为空");
$("affairContent").focus();
return;
}
if(contentString.length==0){
alert("内容信息不能为空");
$("affairContent").focus();
return;
}
var obj={},dateArray;
var dateString=$("affairDate").innerHTML;
if(dateString.indexOf("<")>-1)
dateArray=dateString.substring(0,dateString.indexOf("<")).split("-");
else
dateArray=dateString.split("-");
obj.date=new Date(dateArray[0],(parseInt(dateArray[1])-1),dateArray[2]);
obj.theme=themeString;
obj.content=contentString;
var aryLength=inforArray.length;
for(var i=0;i(新)";
$("affairDiv").style.display="none";
return;
}
//取消保存事务 并关闭层
function closeAffair(){
if($("affairDiv"))
$("affairDiv").style.display="none";
}
//如果已经创建了该层 就直接显示 不用创建
function showAffairDiv(day){
$("affairDiv").style.display="";
$("affairDate").innerHTML=defaultYear+"-"+(defaultMonth+1)+"-"+day; //显示的时候做加处理 由显示提取做减处理
var obj=getAffairValue(new Date(defaultYear,defaultMonth,parseInt(day)));
$("affairTheme").value=obj.theme;
$("affairContent").value=obj.content;
return;
//getAffairValue(
}
//创建事务的层
function createAffairDiv(src,value){
var div=document.createElement("div");
div.id="affairDiv";
while(src.offsetParent){
src=src.offsetParent;
if(src.tagName.toLowerCase()=="table")
break;
}
var position=getPosition(src,value);
div.style.position="absolute";
div.style.zIndex=300;
div.style.left=position.x+"px";
div.style.top=position.y+"px";
div.style.width=(src.currentStyle)?src.currentStyle.width:document.defaultView.getComputedStyle(src,null).width;
div.style.height=(src.currentStyle)?src.currentStyle.height:document.defaultView.getComputedStyle(src,null).height;
var date=new Date(defaultYear,defaultMonth,parseInt(value));
var str="
主题: | |
日期: | "+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" |
内容: | |
div.innerHTML=str;
return div;
}
//取得事务信息
/*
date为取得的时间
//sign为1的时候取得主题信息
//sign为0的时候取得内容信息
//obj为要添加内容信息的控件
*/
function getAffairValue(date){
var affairLength=inforArray.length;
if(affairLength==0)
return {theme:"",content:""};
var returnObj={theme:"",content:""};
for(var i=0;i
功能就是日历控件的基本功能,另外,添加了一个记事功能!不过只是保存到页面的一个变量里
相关文章推荐
- 一个简单的日历控件
- 在iOS上实现一个简单的日历控件
- 一个简单的Silverlight自定义日历控件
- 一个简单的日历控件
- 在iOS上实现一个简单的日历控件
- 在iOS上实现一个简单的日历控件
- 我自己写的一个简单的 Asp.net 日历控件
- 在iOS上实现一个简单的日历控件
- 在iOS上实现一个简单的日历控件
- 开源:一个简单的日历选择控件
- 在iOS上实现一个简单的日历控件
- 文盲的 JavaScript 实战篇之二:制作一个简单的日历控件
- 一个简单日历控件的分析
- 重新整理一个简单的JS日历控件
- 在iOS上实现一个简单的日历控件
- 一个简单横向javascript日期控件
- 一个小日历控件
- 一个简单的JS时间控件示例代码(JS时分秒时间控件)
- 【无私分享】修订版干货!!!一个炫酷的自定义日历控件,摆脱日历时间选择烦恼,纯福利~
- 一个非常好用的JS日历控件(支持.NET)