简约JS日历控件 实例代码


Posted in Javascript onJuly 12, 2013

运行结果如下:

简约JS日历控件 实例代码

<script type="text/javascript" language="javascript">
function choose_date_czw(date_id,objtd){
if(date_id=="choose_date_czw_close"){
    document.getElementByIdx_x_x("choose_date_czw_id").style.display="none";
    return;
}
if(objtd!=undefined){
    if(objtd=="choose_date_czw_empty"){
        document.getElementByIdx_x_x(date_id).value="";
    }else{
        var year1 = document.getElementByIdx_x_x("choose_date_czw_year").value;
        var month1 = document.getElementByIdx_x_x("choose_date_czw_month").value;
        document.getElementByIdx_x_x(date_id).value=year1+"-"+month1+"-"+objtd.innerHTML;
    }
    document.getElementByIdx_x_x("choose_date_czw_id").style.display="none";
    return;
}
var nstr=new Date(); //当前
if(document.getElementByIdx_x_x("choose_date_czw_year")!=null){
    var year = document.getElementByIdx_x_x("choose_date_czw_year").value;
    var month = document.getElementByIdx_x_x("choose_date_czw_month").value;
    var str=year+"/"+month+"/1";
    nstr=new Date(str); //当前
}
var ynow=nstr.getFullYear(); //年份
var mnow=nstr.getMonth(); //月份
var dnow=nstr.getDate(); //今日日期
var n1str=new Date(ynow,mnow,1); //当月第一天
var firstday=n1str.getDay(); //当月第一天星期几
function is_leap(year) {
   return (year0==0 ? res=(year@0==0 ? 1 : 0) : res=(year%4==0 ? 1: 0));
}
var dstr="<select id=\"choose_date_czw_year\" onchange=\"choose_date_czw('"+date_id+"')\">";
for(var y=1901;y<2050;y++){
    if(y==ynow){
        dstr+="<option value='"+y+"' selected>"+y+"</option>"
    }else{
        dstr+="<option value='"+y+"'>"+y+"</option>"
    }
}
dstr+="</select> <select id=\"choose_date_czw_month\" onchange=\"choose_date_czw('"+date_id+"')\">";
for(var m=1;m<13;m++){
    if(parseInt(mnow+1)==m){
        dstr+="<option value='"+m+"' selected>"+m+"</option>"
    }else{
        dstr+="<option value='"+m+"'>"+m+"</option>"
    }
}
dstr+="</select> <span style='cursor:pointer;' onclick=\"choose_date_czw('choose_date_czw_close')\">关闭</span>|<span style='cursor:pointer;' onclick=\"choose_date_czw('"+date_id+"','choose_date_czw_empty')\">清空</span>";
//一三五七八十腊(十二月),三十一日永不差;四六九冬(十一月)三十日,唯有二月二十八(闰年二十九).
var m_days = new Array(31,28+is_leap(ynow),31,30,31,30,31,31,30,31,30,31);
var tr_str=Math.ceil((m_days[mnow] + firstday)/7);
dstr+="<table border='0' cellpadding='5' cellspacing='0'><tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>";
var dqdate=new Date(); //当前
for(i=0;i<tr_str;i++) { //外层for语句- tr标签
   dstr+="<tr>";
   for(k=0;k<7;k++) { //内层for语句- td标签
      idx=i*7+k; //表格单元的自然序号
      date_str=idx-firstday+1; //计算日期
     if(date_str<=0 || date_str>m_days[mnow]){
          dstr+="<td> </td>";
     }else{
        if(ynow==dqdate.getFullYear() && mnow==dqdate.getMonth() && dqdate.getDate()==date_str){
            dstr+="<td onmouseover=\"this.style.backgroundColor='#6FF'\" onmouseout=\"this.style.backgroundColor='#fff'\" onclick=\"choose_date_czw('"+date_id+"',this)\" style='cursor:pointer; background-color:#6FF;'>"+date_str+"</td>";
        }else{
            dstr+="<td onmouseover=\"this.style.backgroundColor='#6FF'\" onmouseout=\"this.style.backgroundColor='#fff'\" onclick=\"choose_date_czw('"+date_id+"',this)\" style='cursor:pointer;'>"+date_str+"</td>";
        }
     }
   }
   dstr+="</tr>";
}
dstr+="</table>";
if(document.getElementByIdx_x_x("choose_date_czw_id")==null){
var obj = document.getElementByIdx_x_x(date_id);
var odiv = document_createElement_x_x("div");
odiv.id="choose_date_czw_id";
odiv.innerHTML=dstr;
odiv.style.position="absolute";
odiv.style.border="1px #0CF solid";
odiv.style.fontSize="12px";
odiv.style.zIndex=99999;
odiv.style.top=obj.offsetTop+obj.offsetHeight+"px";
odiv.style.left=obj.offsetLeft+"px";
document.body.a(odiv);
}else{
    document.getElementByIdx_x_x("choose_date_czw_id").style.display="block";
    document.getElementByIdx_x_x("choose_date_czw_id").innerHTML=dstr;
}
}
</script>
<input type="text" id="add_date" onclick="choose_date_czw('add_date')"/>
Javascript 相关文章推荐
js调用webservice中的方法实现思路及代码
Feb 25 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
jquery简单实现鼠标经过导航条改变背景图
Dec 17 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
jQuery插件kinMaxShow扩展效果用法实例
May 04 Javascript
详解JavaScript中的every()方法
Jun 08 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
javascript日期格式化方法汇总
Oct 04 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
小程序实现发表评论功能
Jul 06 Javascript
简单实现vue中的依赖收集与响应的方法
Feb 18 Javascript
原生js实现下拉选项卡
Nov 27 Javascript
javascript中自定义对象的属性方法分享
Jul 12 #Javascript
javascript中的toFixed固定小数位数 简单实例分享
Jul 12 #Javascript
javascript中的parseInt和parseFloat区别
Jul 12 #Javascript
JS文本框追加多个下拉框的值的简单实例
Jul 12 #Javascript
JS代码同步文本框内容的实例方法
Jul 12 #Javascript
jquery 获取标签名(tagName)示例代码
Jul 11 #Javascript
js jquery获取随机生成id的服务器控件的三种方法
Jul 11 #Javascript
You might like
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
php 动态添加记录
2009/03/10 PHP
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
ASP Json Parser修正版
2009/12/06 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
对python中的 os.mkdir和os.mkdirs详解
2018/10/16 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
keras 多gpu并行运行案例
2020/06/10 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
公司JAVA开发面试题
2015/04/02 面试题
啤酒销售实习自我鉴定
2013/09/24 职场文书
满月酒主持词
2014/03/27 职场文书
《数星星的孩子》教学反思
2014/04/11 职场文书
商务经理岗位职责
2014/07/30 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
放假通知怎么写
2015/08/18 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript