<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>日历test</title> <style type="text/css"> *{ margin:0px; padding:0px;} #dateBody{width:300px; padding:10px; background:#CCC;} .weekday{ width:40px; height:40px; background:#999; line-height:30px; margin:1px; text-align:center; margin-top:2px; vertical-align:middle;float:left;} .day{ width:40px; height:40px; background:#999; line-height:40px; margin:1px; text-align:center;float:left;} .days{ width:40px; height:40px; background:#999; line-height:40px; margin:1px; text-align:center;float:left;} #thisDay{width:40px; height:40px; background:#093;line-height:40px; margin:1px; text-align:center;float:left;} #setDate{ width:320px; height:40px; background:#999; vertical-align:middle; line-height:40px; font-size:16px; font-weight:600; text-align:center;} #borthTextAre{ width:320px; height:20px; background:#96F;} </style> </head> <body> <div id="borthTextAre" >你的生日:<input id="borthText" type="text" /></div> <div id="setDate"> 选择年份:<select id="setYear" onchange="chose(this)"></select> 选择月份:<select id="setMonth" onchange="chose(this)"></select> </div> <!-- 日历 begin--> <div id ="dateBody"> <div class="weekday">日</div> <div class="weekday">一</div> <div class="weekday">二</div> <div class="weekday">三</div> <div class="weekday">四</div> <div class="weekday">五</div> <div class="weekday">六</div> <!-- 日历天数显示 begin--> <div id="days"> </div> <!-- 日历天数显示 begin--> <br style="clear:both;" /> </div> <!--日历 end --> <script type="text/javascript"> function $(id) { return document.getElementById(id); } var nowDay = new Date(); var year=parseInt(nowDay.getFullYear()); var month=parseInt(nowDay.getMonth()); builtSetYearAndMonth(100); //显示该年该月的日历 function makeDays(year,month) { var firstDay = new Date(year,month,1); //获得每月的前面空余的天数 var firstDayBefore = parseInt(firstDay.getDay()); //显示每月前面空余的天数 for(var i= 0;i<firstDayBefore;i++) { dayobj = document.createElement("div"); dayobj.className="day"; $("days").appendChild(dayobj); } //显示每月的天数 for(var i=1;i<=getDayCountByYearAndMonth(year,month);i++) { dayobj = document.createElement("div"); dayobj.className="day"; dayobj.name=year+"-"+(parseInt(month)+1)+"-"+i; $("days").appendChild(dayobj); dayobj.innerHTML = i; //设置当天的样式 if(nowDay.getFullYear()==year && nowDay.getMonth()==month && nowDay.getDate()==i) { dayobj.id="thisDay"; } dayobj.onmouseover= function(){ this.style.backgroundColor="#690"; } dayobj.onmouseout= function(){ this.style.backgroundColor="#999"; } dayobj.onclick= function(){ //$("borthTextAre").value=this.name; //$("borthTextAre").innerHTML = $("borthTextAre").value; //$("borthTextAre").innerHTML="你的生日:"+this.name; $("borthText").value = this.name; } } } //计算该年该月的天数 function getDayCountByYearAndMonth(year,month) { month++; if(month==4 || month==6 || month==7 || month==9 || month==11) return 30; if(month==2) { if(((year%4==0)&&(year%100!=0)) || (year%400 == 0)) return 28; return 29; } return 31; } //初始化年月选择器 function builtSetYearAndMonth(yearNum) { for(var i=-yearNum; i<yearNum;i++){ yearObj = document.createElement("option"); yearObj.innerHTML =parseInt(nowDay.getFullYear())+i; yearObj.value =parseInt(nowDay.getFullYear())+i; $("setYear").appendChild(yearObj); } for(var i=0;i<12;i++) { monthObj = document.createElement("option"); monthObj.innerHTML=i+1; monthObj.value =i; $("setMonth").appendChild(monthObj); } $("setYear").selectedIndex = yearNum; $("setMonth").selectedIndex = parseInt(nowDay.getMonth()); makeDays(parseInt(year),parseInt(month)); } function chose(ele) { if(ele.id == "setYear"){ year = ele.value; } if(ele.id == "setMonth"){ month = ele.value; } $("days").innerHTML=""; makeDays(year,month); } </script> </body> </html>
详细解决方案
用javascript 兑现的万年历代码
热度:354 发布时间:2013-03-19 17:22:05.0
相关解决方案
- javascript ie6兼容的有关问题
- javascript window open在ie中设立不起作用,求解决
- javascript 字符串拼接效率有关问题
- JavaScript 自动生成图片并合并有关问题
- 不走"<script type='text/javascript'>"标签咋回事
- <script type="javascript/text">的有关问题
- 用servlet+jsp+javascript+jdbc做个简单的办公自动化系统流程,该如何解决
- 怎么打开 javascript:SetData(2010,5,10)
- javaScript = == ===区别,该怎么解决
- javascript 怎么验证name=xx.xx的radio表单
- form action 和 javascript 的提交問題解决方法
- javascript,该怎么处理
- javascript,该如何处理
- javascript 选中文字 但是保存样式 标签
- 新人求问,J2EE方向,html,css,javascript,vml要学到什么程度?解决思路
- javascript 请求servlet兑现将函数中定义的变量作为参数
- javascript 不懂,该如何处理
- javascript 不懂解决方法
- JavaScript 大局函数求实例,高分求
- javaScript 里面 如何知道Object 对象的长度
- javascript 函数调用有什么有关问题,请
- javascript 中文本框中数字如何比较
- javascript IE通过,火狐,google浏览器不过解决思路
- javascript rsa加密/java使用Cipher.getInstance("RSA/ECB/PKCS1Padding")解密,该如何处理
- IE javascript start()函数解决方案
- 关于RTMP 播放器(DELPHI C# FLASH JAVASCRIPT)解决思路
- Chrome Javascript Click 事件,该如何解决
- javascript 实出_blank跳转到新标签页有关问题
- 分享上Google Maps Javascript API v3
- javascript 绑定服务器控件 事件,该如何解决