`
chinawomen
  • 浏览: 24050 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义JS日历

阅读更多

<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)?"&nbsp;":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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
			月份:<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 实现 自定义的日历

    js 实现 自定义的日历! 值得下载看看!资源免费,大家分享!!

    js日历控件实例源码

    JavaScript日历控件是一种常用的前端开发工具,它允许用户在网页上方便地选择日期,常用于表单输入、事件预订、时间安排等场景。在这个"js日历控件实例源码"中,我们有两个关键文件:`demo.html`和`setday.js`。 ...

    net自定义精美日历控件合集

    本合集聚焦于自定义且精美的日历控件,旨在为.NET开发提供更丰富的用户界面体验。自定义日历控件不仅能够满足基本的日期选择功能,还可以通过自定义样式、交互效果以及功能扩展,使得日期选择过程更加美观和易用。 ...

    可以自定义样式的JS日历控件

    一个可以自定义样式的JS日历控,挺使用的哦。

    自定义日历插件

    综上所述,创建一个自定义日历插件涉及到多方面的JavaScript和前端开发技术,从基本的DOM操作到复杂的用户交互逻辑和视觉设计。"DateDemo"项目可能包含了这些技术的实际应用,通过学习和研究,你可以进一步提升自己...

    js 日历 js日历 例子 javascript日历

    JavaScript日历是一个常见的网页交互元素,它为用户提供了一个方便的方式来选择日期,常见于表单填写、事件安排等场景。在Web开发中,JavaScript日历组件的实现主要依赖于JavaScript语言和CSS来完成页面布局和样式...

    Javascript自定义日历控件

    JavaScript自定义日历控件是前端开发中常见的一种交互元素,它允许用户在网页上方便地选择日期。本文将深入探讨如何使用JavaScript实现一个自定义的日历控件,包括其核心概念、设计思路以及实现步骤。 一、核心概念...

    js日历控件 js日历控件

    总的来说,JavaScript日历控件是网页交互中不可或缺的一部分,它的实现涉及前端多个技术层面,从基础的HTML/CSS/JS到复杂的库使用和性能优化。理解其工作原理并灵活运用,能帮助开发者创建出更高效、更易用的网页...

    jQuery UI自定义样式日历代码.zip

    这些代码通常包括HTML、CSS和JavaScript文件,通过结合它们,你可以学习到如何将jQuery UI日历组件与自定义样式相结合,为用户提供更美观、符合品牌风格的交互体验。 总的来说,jQuery UI日历组件提供了强大的功能...

    jQuery自定义日历事项查看代码.zip

    【jQuery自定义日历事项查看代码】是一款基于JavaScript库jQuery实现的日历插件,主要用于增强网页中的日期选择和事件查看功能。此插件的核心在于提供一个直观、易用且高度可定制的日历界面,帮助用户方便地查看和...

    js日历控件大全,支持自定义格式

    本文将深入探讨“js日历控件大全”,重点介绍如何支持自定义格式,以及如何设置“年月日”、“年月”和“年月日时”的输入格式。 首先,`Calendar.js`是一个JavaScript库,它提供了创建和管理日历控件的功能。这个...

    js日历 12种js日历

    在这个主题中,我们主要关注的是“js日历 12种js日历”,这显然是一份包含了多种不同实现方式的JavaScript日历组件集合。 1. **日历组件的基本概念** 日历组件是网页中常见的交互元素,它允许用户选择日期,通常...

    实用的JS日历控件

    在自定义JS日历控件时,可以根据需求对以下方面进行调整: - **日期格式**:可以通过修改JavaScript代码,让日历控件支持自定义的日期格式,如`YYYY-MM-DD`、`MM/DD/YYYY`等。 - **语言支持**:如果需要多语言版本...

    Calendar一个自定义灵活的日历选择器

    在IT行业中,尤其是在前端开发领域,自定义日历选择器是一种常见的需求,它能帮助用户方便地选择日期,常用于事件安排、预约系统等场景。本文将深入探讨名为"Calendar"的自定义日历选择器,它具备灵活性、精确性和...

    ASP.NET 自定义日历控件

    4. 编写JavaScript代码,当TextBox获得焦点时,调用自定义的日历控件,如弹出一个模态对话框或者浮动层。 5. 自定义日历控件应该能够响应用户的日期选择,并将选中的日期设置回TextBox中。 至于文件名"DatePicker...

    asp.net中TextBox获得焦点显示JS日历控件

    如果你不希望依赖外部库,也可以自定义一个简单的JavaScript日历控件。这通常涉及到HTML、CSS和JavaScript的结合,以创建一个可交互的日历组件。不过,这需要更多的编码工作,而且功能可能不如成熟的库强大。 总结...

    小程序自定义日历效果

    综上所述,实现微信小程序自定义日历效果需要理解小程序的组件化开发、CSS布局、数据绑定以及JavaScript的日期处理。通过合理的数据结构和事件处理,我们可以创建一个功能完整且用户体验良好的日历组件。

    JQ版本自定义日历控件

    - JavaScript文件(如`calendar.js`):包含日历控件的逻辑代码。 - HTML文件(如`index.html`):展示日历控件的示例页面。 - 可能还有其他资源文件,如图片或字体。 为了使日历控件更强大,我们还可以考虑增加...

    三款js日历(javascript 日历)

    本文将详细介绍三款JavaScript日历插件,它们各具特色,能够为你的网页增添别致的用户体验。 第一款日历插件可能是“32008731155337.rar”中的内容。虽然具体名称未知,但我们可以假设它是一款简洁且功能丰富的日历...

Global site tag (gtag.js) - Google Analytics