网站地图
首页
php教程
asp.net教程
手机开发
css教程
网页制作
办公数码
jsp教程
asp教程
ps教程
当前位置:
编程学习网
>>
网页制作
>
js教程
> >
[一款简单好用的节目]一款简单好用的js日期控件
[一款简单好用的节目]一款简单好用的js日期控件
发布时间:2019-03-10
【www.gdgbn.com--js教程】
提示:您可以先修改部分代码再运行
好用的js日期控件
<script language="javascript"> var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var days = new Array("日","一", "二", "三", "四", "五", "六"); var today; document.writeln(""); function getDays(month, year) { //下面的这段代码是判断当前是否是闰年的 if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; else return daysInMonth[month]; } function getToday() { //得到今天的年,月,日 this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } function getStringDay(str) { //得到输入框的年,月,日 var str=str.split("-") this.now = new Date(parseFloat(str[0]),parseFloat(str[1])-1,parseFloat(str[2])); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } function newCalendar() { var parseYear = parseInt(document.getElementById("Year").options[document.getElementById("Year").selectedIndex].value); var newCal = new Date(parseYear, document.getElementById("Month").selectedIndex, 1); var day = -1; var startDay = newCal.getDay(); var daily = 0; if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) day = today.day; if(navigator.appName.indexOf("Explorer") > -1){ var tableCal = document.all.calendar; } else{ var tableCal = document.getElementById("calendar"); } var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); for (var intWeek = 1; intWeek < tableCal.rows.length;intWeek++) { for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++) { var cell = tableCal.rows[intWeek].cells[intDay]; if ((intDay == startDay) && (0 == daily)) daily = 1; if(day==daily) //今天,调用今天的Class { cell.style.background="#6699CC"; cell.style.color="#FFFFFF"; //cell.style.fontWeight="bold"; } else if(intDay==6) //周六 cell.style.color="green"; else if (intDay==0) //周日 cell.style.color="red"; if ((daily > 0) && (daily <= intDaysInMonth)) { if(navigator.appName.indexOf("Explorer") > -1){ cell.innerText = daily; } else{ cell.textContent = daily; } //cell.innerText = daily; daily++; } else if(navigator.appName.indexOf("Explorer") > -1){ cell.innerText = ""; } else{ cell.textContent = ""; } //cell.innerText = ""; } } if(navigator.appName.indexOf("Explorer") > -1){ } else { tableCal.rows[5].style.visibility="visible"; tableCal.rows[6].style.visibility="visible"; if(tableCal.rows[5].cells[0].textContent=="") { tableCal.rows[5].style.visibility="hidden"; } if(tableCal.rows[6].cells[0].textContent=="") { tableCal.rows[6].style.visibility="hidden"; } } } function GetDate(InputBox,evt) { var sDate; if (window.navigator.userAgent.indexOf("MSIE")>=1){ obj = event.srcElement; } else { obj=evt.target; } //这段代码处理鼠标点击的情况 if (obj.tagName == "TD") if(navigator.appName.indexOf("Explorer") > -1){ strtext=obj.innerText; } else{ strtext=obj.textContent; } if (strtext != "") { sDate = document.getElementById("Year").value + "-" + document.getElementById("Month").value + "-" + strtext; document.getElementById(InputBox).value=sDate; HiddenCalendar(); } } function HiddenCalendar() { //关闭选择窗口 if(navigator.appName.indexOf("Explorer") > -1){ //document.getElementById("calendar").rows[5].style.visibility="hidden" //document.getElementById("calendar").rows[6].style.visibility="hidden" } else{ document.getElementById("calendar").rows[5].style.visibility="hidden" document.getElementById("calendar").rows[6].style.visibility="hidden" } document.getElementById("Calendar").style.visibility="hidden"; } function ShowCalendar(InputBox) { var x,y,intLoop,intWeeks,intDays; var DivContent; var year,month,day; var o=document.getElementById(InputBox); var thisyear; //真正的今年年份 thisyear=new getToday(); thisyear=thisyear.year; today = o.value; if(isDate(today)) today = new getStringDay(today); else today = new getToday(); //显示的位置 x=o.offsetLeft; y=o.offsetTop; while(o=o.offsetParent) { x+=o.offsetLeft; y+=o.offsetTop; } document.getElementById("Calendar").style.left=x+"px"; document.getElementById("Calendar").style.top=y+24+"px"; document.getElementById("Calendar").style.visibility="visible"; //下面开始输出日历表格(border-color:#9DBAF7) DivContent=""; DivContent+=""; DivContent+=""; //年 DivContent+="
"; for (intLoop = (thisyear-2); intLoop < (thisyear + 3); intLoop++) DivContent+="
" + intLoop + "
"; DivContent+="
"; //月 DivContent+="
"; for (intLoop = 0; intLoop < months.length; intLoop++) DivContent+="
" + months[intLoop] + "
"; DivContent+="
"; DivContent+=""; DivContent+="×"; DivContent+=""; DivContent+=""; DivContent+=""; //星期 DivContent+=""; for (intLoop = 0; intLoop < days.length; intLoop++) DivContent+="" + days[intLoop] + ""; DivContent+=""; //天 for (intWeeks = 0; intWeeks < 6; intWeeks++) { DivContent+=""; for (intDays = 0; intDays < days.length; intDays++) DivContent+=""; DivContent+=""; } DivContent+=""; DivContent+=""; document.getElementById("Calendar").innerHTML=DivContent; newCalendar(); } function isDate(dateStr) { var datePat = /^(d{4})(-)(d{1,2})(-)(d{1,2})$/; var matchArray = dateStr.match(datePat); if (matchArray == null) return false; var month = matchArray[3]; var day = matchArray[5]; var year = matchArray[1]; if (month < 1 || month > 12) return false; if (day < 1 || day > 31) return false; if ((month==4 || month==6 || month==9 || month==11) && day==31) return false; if (month == 2) { var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); if (day > 29 || (day==29 && !isleap)) return false; } return true; } </script>
提示:您可以先修改部分代码再运行
本文来源:
http://www.gdgbn.com/wangyezhizuo/27809/
上一篇:
json|js css图片切换效果(同一页面可多次调用)
下一篇:
json_js 二级联动的下拉列表菜单效果
相关推荐
兼容ie7吗|兼容ie7 ie6 ie8 ff对联广告代码
【asp.net中ajax乱码解决方案】ASP.NET中AJAX乱码解决方法
【哪一款】一款asp分页程序(支持跳转与输入数字)
excel 日期函数_一款日期验证函数
百度音乐在线听歌曲_百度音乐右侧可伸缩flash广告代码
4屏flash xml图片大小_4屏flash+xml图片广告轮换代码
[asp无组件上传]asp无组件文件上传实例
快速制作表格_快速制作出非主流效果照片
php入门教程_php入门教程八(购物车 session操作)
json|js css图片切换效果(同一页面可多次调用)
网友关注
【flash xml文件】flash+xml焦点图轮换
ps二寸照片制作教程_ps快速把照片制作成非主流效果
【flash player】flash 产品展示幻灯效果
【php入门教程】php入门教程七(图片操作与实例)
用php输出图片_php图片处理类(生成缩略图,增加水印,获取图片信息)
未利用地|利用php mail 发送邮件代码
photoshop怎么读音_怎么用Photoshop打造美女红润的质感肤色效果
ps怎么换背景|怎么ps非主流闪动图效果
qq和360大战_qq和360共存方法
[mysql创建数据库命令]mysql创建数据库几种方法
热门标签
最新js教程
js教程
js遍历对象_js中查找对象代码
js教程
javascript学习指南_java 自动装箱拆箱实现方法
js教程
eclipse连接mysql数据库_java连接db2数据代码
js教程
flash player|flash js Fusioncharts 参数详解与参考
js教程
json_js ajax XMLHttpRequest与jq $.ajax
js教程
【js利用cookie】js利用cookies与正则设置字体高亮显示
js教程
asp.net core_asp.net DataGridTree 下拉树 实现方法
js教程
[jsp注册页面代码]JSP页面编码问题分析
js教程
[hibernate和mybatis的区别]Hibernate 中get()和load()与Hibernate简介
js教程
判断textarea中是否有回车符|判断textarea中是否有回车符方法
js教程热门文章
js教程
json_js 二级联动的下拉列表菜单效果
js教程
[json]js 实现网页特效的延期执行或重复执行
js教程
js引用对象的属性和方法是|js()引用对象的属性和方法 与大括号({})语法创建无类型对象
js教程
[ajax提交form表单]ajax xmlhttp.abort() 实例
js教程
json_js tab 标签切换代码
js教程
ajax提交form表单|ajax asp的二级联动菜单实例
js教程
【json】js dom动态创建表格实例
js教程
二维码生成器_二款 js 图片预加载进度条(Mootools)
js教程
【json】js dom删除行和单元格,交换两行的位置
js教程
json|js 右下角广告代码
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
Copyright©2006-2019 编程学习网 www.gdgbn.com 版权所有