简约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 相关文章推荐
jquery实现导航固定顶部的效果仿蘑菇街
Oct 22 Javascript
jQuery制作效果超棒的手风琴折叠菜单
Apr 03 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
Sep 17 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
Sep 01 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
Centos7 安装Node.js10以上版本的方法步骤
Oct 15 Javascript
vue项目引入ts步骤(小结)
Oct 31 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 Javascript
jQuery实现轮播图效果demo
Jan 11 jQuery
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中inlcude()性能对比详解
2012/09/16 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
2016/11/05 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
JSON 数据格式详解
2017/09/13 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
JQuery常用简单动画操作方法回顾与总结
2019/12/07 jQuery
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Python threading多线程编程实例
2014/09/18 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python数据操作方法封装类实例
2017/06/23 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
python3多线程知识点总结
2019/09/26 Python
python爬虫---requests库的用法详解
2020/09/28 Python
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
什么是servlet链?
2014/07/13 面试题
陈欧的广告词
2014/03/18 职场文书
励志演讲稿大全
2014/08/21 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Win11快速关闭所有广告推荐
2022/04/19 数码科技