日历控件经常在平常的工作中使用到,他的实现方法以前并没有深入研究,今天写了一个简单的,知识打印出日历的基本结构,以后会添加更强大的功能。请关注后面的文章.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 日历 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style type="text/css">
</style>
</head>
<body>
<div id="calendar">
</div>
</body>
</html>
<script type="text/javascript">
<!--
function Calendar(year,month,day){
if(typeof year!="number"||typeof month !="number"){
throw new Error("参数必须为整形");
}
this.year=year;
this.month=month;
this.day=day;
this.daysOfMonth=[31,0,31,30,31,30,31,30,30,31,30,31]
Calendar.prototype.getDaysOfMonth=function(){
var value=this.daysOfMonth[this.month-1];
if(value==0){
if((this.year%4==0&&this.yea%100!=0)||(this.yea%400==0))
{
value=29
}
else
{
value=28
}
}
return value;
};
//获取本月的第一天是星期几
Calendar.prototype.getDayBeginOfMonth=function(){
var today=new Date();
today.setYear(this.year);
today.setMonth(this.month-1);
today.setDate(1);
return today.getDay();
};
//获取本月的最后一天是星期几
Calendar.prototype.getDayEndOfMonth=function(){
var today=new Date();
today.setYear(this.year);
today.setMonth(this.month-1);
today.setDate(this.getDaysOfMonth());
return today.getDay();
};
//获取日历数组
Calendar.prototype.getCalData=function(){
var days=this.getDaysOfMonth();
var firstDay=this.getDayBeginOfMonth();
var lastDay=this.getDayEndOfMonth();
var data=new Array(firstDay+days+6-lastDay);
for(var i=0,j=0;i<data.length;i++){
if(i<firstDay||i>=(days+firstDay)){
data[i]="";
}else{
j++;
data[i]=j;
}
}
return data;
};
}
var cal=new Calendar(2012,3);
var data=cal.getCalData();
var calendarDom=document.getElementById("calendar");
var table=document.createElement("table");
for(var i=0;i<data.length;i++){
if(i%7==0){
table.insertRow(-1);
}
var curRow=table.rows[parseInt(i/7)];
var curCell=document.createElement("td");
curCell.innerHTML=data[i];
curRow.appendChild(curCell);
}
calendarDom.appendChild(table);
//-->
</script>
分享到:
相关推荐
javascript实现日历,仅供参考javascript实现日历,仅供参考javascript实现日历,仅供参考javascript实现日历,仅供参考javascript实现日历,仅供参考javascript实现日历,仅供参考
1、纯HTML脚本编写的组件,无需下载、注册、安装等; 2、支持手动写入。用户可以手动向输入框中填写日期。 3、手动输入的日期,则该组件无法判断日期的合法性,需要适用校验组件进行页面校验。
javascript实现的一个日历效果,下载直接运行即可,纯javascript原生实现,简易的日历效果
js日历选择代码,js实现日历选择,很实用的哦
javascript实现日历显示,可以根据用户输入时间显示日历。
使用js + html 实现的简单的网页版日历,顶部默认会显示当前日期和时间,时间会精确到秒,并且时间会实时刷新,日历UI符合主流日历的样式,可以选择年,月,日查看每个月份的每一天对应星期几,默认显示当前日期所在...
js实现的日历控件,很实用 js实现的日历控件,很实用
vue.js实现日历插件使用方法详解 今天要实现的功能就是以下这个功能:vue.js模拟日历插件 好了废话不多说了 直接上代码了 css: *{ margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-...
JS 实现活动日历代码,JS中在日历中添加活动,鼠标悬停到有活动的日期时日历下方会显示活动内容
js--手机端签到日历,实现js生成日历并且实现签到功能
js实现的日历控件 js实现的日历控件 js实现的日历控件 js实现的日历控件
原生js实现卡片式挂历日历翻转特效动画。备注:点击日历往前翻阅日历。
原生js实现日历组件,只需要一行代码就能实现日历功能,并且实现日历可添加自定义记录,纯html、js、css实现,功能完整,一行代码即可实现页面功能,完整文件,具有案例可供参考,
JavaScript实现挂历效果;内容都在js文件中;直接复制就可使用
实现日历选择,实现年月日的选择,比如说,搜索一段时间的数据时,通过点击文本框,来调出日历供你选择!
用基本的js实现的日历。显示年、月、日和周,能够进行日期的翻页显示操作
在不同的控件上注册日历, 主调用函数是 setday(this,[object])和setday(this),[object]是控件输出的控件名,举两个例子: 一、<input name=txt><input type=button value=setday onclick="setday(this,document.all...
主要实现日历显示状态的效果。这篇文章主要为大家详细介绍了由html、css、javascript结合实现的简单日历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
超给力的日历demo,可以根据自己的需要灵活调整代码
js 实现 自定义的日历! 值得下载看看!资源免费,大家分享!!