<script>
//服务器返回当前年,月,日
var year=2011;
var month=8;
var day=4;
var serviceDate;
//设置当前时间
function setMyDate(year,month){
//设置当月第一天时间
serviceDate=new Date(year,month-1,1,0,0,0,0);
document.getElementById("nowYear").value=year;
document.getElementById("nowMonth").value=month;
}
//初始化下拉框
function initSelect(){
var yearSelect=document.getElementById("nowYear");
var monthSelect=document.getElementById("nowMonth");
for(var i=0;i<50;i++){
yearSelect.options.add(new Option(1990+i,1990+i));
}
for(var i=1;i<13;i++){
monthSelect.options.add(new Option(i,i));
}
}
//返回当前年份月份天数
function getMonthDay(year,month){
var monthDay=[0,31,28,31,30,31,30,31,31,30,31,30,31];
//是否闰年
if((year%4==0&&year%100!=0)||year%400==0){
monthDay[1]=29;
}
return monthDay[month];
}
//设置日期,星期对应
function setMonthValue(year,month,day){
var dayValue=getMonthDay(year,month);
//当月第一天所对应星期
var oneDay=serviceDate.getDay();
var calenDarArray=[];
for(var i=1,j=0;i<=dayValue;i++){
if(i==1){
calenDarArray[j]=[];
calenDarArray[j][oneDay]=i;
i=7-oneDay;
}
else{
calenDarArray[j]=[];
calenDarArray[j][0]=i;
i=6+i;
}
j++;
}
return calenDarArray;
}
//设置日期到表格
function setDateToTable(year,month,day){
var mytable=document.getElementById("dateTable");
var tr6=document.getElementById("tr6");
var calenDarArray=setMonthValue(year,month,day);
var monthDay=getMonthDay(year,month);
if(calenDarArray.length==5){
tr6.style.display="none";
}
else{
tr6.style.display="block";
}
for(var i=0;i<calenDarArray.length;i++){
var row=mytable.rows[i+2];
var index=0;
for(var j=0;j<7;j++){
var cell=row.cells[j];
if(calenDarArray[i][j]!=undefined){
index=j;
cell.innerHTML=calenDarArray[i][index]++;
}
else{
cell.innerHTML=(calenDarArray[i][index]==undefined || calenDarArray[i][index]>monthDay)?" ":calenDarArray[i][index]++;
}
}
}
}
//显示日历
function initCalenDar(year,month,day){
setMyDate(year,month);
setDateToTable(year,month,day);
}
function fnYearChange(year){
var month=document.getElementById("nowMonth").value;
initCalenDar(year,month);
}
function fnMonthChange(month){
var year=document.getElementById("nowYear").value;
initCalenDar(year,month);
}
window.onload=function(){
initSelect();
initCalenDar(year,month);
}
</script>
<body>
<table id="dateTable" border="1" width="500" >
<tr>
<td colspan="7" height="20">
年份:<select id="nowYear" onchange="fnYearChange(this.value)"></select>
月份:<select id="nowMonth" onchange="fnMonthChange(this.value)"></select>
</td>
</tr>
<tr>
<td>周日</td><td>周一</td><td>周二</td><td>周三</td><td>周四</td><td>周五</td><td>周六</td>
</tr>
<tr id="tr1">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
<tr id="tr2">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
<tr id="tr3">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
<tr id="tr4">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
<tr id="tr5">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
<tr id="tr6">
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
<td height=20 width=20></td>
</tr>
</table>
</body>
没事干自己写个小日历 就是太丑了 功能还不是很完善
分享到:
相关推荐
js 实现 自定义的日历! 值得下载看看!资源免费,大家分享!!
JavaScript日历控件是一种常用的前端开发工具,它允许用户在网页上方便地选择日期,常用于表单输入、事件预订、时间安排等场景。在这个"js日历控件实例源码"中,我们有两个关键文件:`demo.html`和`setday.js`。 ...
本合集聚焦于自定义且精美的日历控件,旨在为.NET开发提供更丰富的用户界面体验。自定义日历控件不仅能够满足基本的日期选择功能,还可以通过自定义样式、交互效果以及功能扩展,使得日期选择过程更加美观和易用。 ...
一个可以自定义样式的JS日历控,挺使用的哦。
综上所述,创建一个自定义日历插件涉及到多方面的JavaScript和前端开发技术,从基本的DOM操作到复杂的用户交互逻辑和视觉设计。"DateDemo"项目可能包含了这些技术的实际应用,通过学习和研究,你可以进一步提升自己...
JavaScript日历是一个常见的网页交互元素,它为用户提供了一个方便的方式来选择日期,常见于表单填写、事件安排等场景。在Web开发中,JavaScript日历组件的实现主要依赖于JavaScript语言和CSS来完成页面布局和样式...
JavaScript自定义日历控件是前端开发中常见的一种交互元素,它允许用户在网页上方便地选择日期。本文将深入探讨如何使用JavaScript实现一个自定义的日历控件,包括其核心概念、设计思路以及实现步骤。 一、核心概念...
总的来说,JavaScript日历控件是网页交互中不可或缺的一部分,它的实现涉及前端多个技术层面,从基础的HTML/CSS/JS到复杂的库使用和性能优化。理解其工作原理并灵活运用,能帮助开发者创建出更高效、更易用的网页...
这些代码通常包括HTML、CSS和JavaScript文件,通过结合它们,你可以学习到如何将jQuery UI日历组件与自定义样式相结合,为用户提供更美观、符合品牌风格的交互体验。 总的来说,jQuery UI日历组件提供了强大的功能...
【jQuery自定义日历事项查看代码】是一款基于JavaScript库jQuery实现的日历插件,主要用于增强网页中的日期选择和事件查看功能。此插件的核心在于提供一个直观、易用且高度可定制的日历界面,帮助用户方便地查看和...
本文将深入探讨“js日历控件大全”,重点介绍如何支持自定义格式,以及如何设置“年月日”、“年月”和“年月日时”的输入格式。 首先,`Calendar.js`是一个JavaScript库,它提供了创建和管理日历控件的功能。这个...
在这个主题中,我们主要关注的是“js日历 12种js日历”,这显然是一份包含了多种不同实现方式的JavaScript日历组件集合。 1. **日历组件的基本概念** 日历组件是网页中常见的交互元素,它允许用户选择日期,通常...
在自定义JS日历控件时,可以根据需求对以下方面进行调整: - **日期格式**:可以通过修改JavaScript代码,让日历控件支持自定义的日期格式,如`YYYY-MM-DD`、`MM/DD/YYYY`等。 - **语言支持**:如果需要多语言版本...
在IT行业中,尤其是在前端开发领域,自定义日历选择器是一种常见的需求,它能帮助用户方便地选择日期,常用于事件安排、预约系统等场景。本文将深入探讨名为"Calendar"的自定义日历选择器,它具备灵活性、精确性和...
4. 编写JavaScript代码,当TextBox获得焦点时,调用自定义的日历控件,如弹出一个模态对话框或者浮动层。 5. 自定义日历控件应该能够响应用户的日期选择,并将选中的日期设置回TextBox中。 至于文件名"DatePicker...
如果你不希望依赖外部库,也可以自定义一个简单的JavaScript日历控件。这通常涉及到HTML、CSS和JavaScript的结合,以创建一个可交互的日历组件。不过,这需要更多的编码工作,而且功能可能不如成熟的库强大。 总结...
综上所述,实现微信小程序自定义日历效果需要理解小程序的组件化开发、CSS布局、数据绑定以及JavaScript的日期处理。通过合理的数据结构和事件处理,我们可以创建一个功能完整且用户体验良好的日历组件。
- JavaScript文件(如`calendar.js`):包含日历控件的逻辑代码。 - HTML文件(如`index.html`):展示日历控件的示例页面。 - 可能还有其他资源文件,如图片或字体。 为了使日历控件更强大,我们还可以考虑增加...
本文将详细介绍三款JavaScript日历插件,它们各具特色,能够为你的网页增添别致的用户体验。 第一款日历插件可能是“32008731155337.rar”中的内容。虽然具体名称未知,但我们可以假设它是一款简洁且功能丰富的日历...