• js日历


    html部分

    <div class="div">
            <p><span onclick="syn()">上一年</span><span onclick="addn()">下一年</span></p>
            <p><span onclick="syy()">上一月</span><span onclick="add()">下一月</span></p>
            <p id="p"></p>
            <div class="div">
                <ul>
                    <Li></Li>
                    <Li></Li>
                    <Li></Li>
                    <Li></Li>
                    <Li></Li>
                    <Li></Li>
                    <Li></Li>
                </ul>
            </div>
            <div id="div" class="div">
                
            </div>
            <div >
                <span>选择的日期是:</span>
                <span id="rq"></span>
            </div>
        </div>

    css部分

    *{
            margin:0;
            padding: 0;
        }
        .div li{
            float: left;
            list-style: none;
            width: 30px;
            height: 30px;
            text-align: center;
            line-height: 30px;
            cursor: pointer;
        }
        .div{
            width: 210px;
            clear: both;
            margin:0 auto;
            margin-top: 30px;
        }
        .currentDate{
            color: #eee;
        }
        .on{
            background: blue;
            color: #fff;
            display: inline-block;
            width: 100%;
            height: 100%;
        }

    js部分

    function daysInMonth(month, year) {//指定月份的天数
              return new Date(year, month + 1, 0).getDate();
            }
            var div=document.getElementById('div');
            var rq=document.getElementById('rq');
            var today = new Date();//new日期
            var dayStr = '';
            var year = today.getFullYear(),//获取今天的年
                month = today.getMonth(),//获取月
                day = today.getDate();//获取日
            var p=document.getElementById('p');
            fn(year,month,day);
            function fn(year,month,day){
            dayStr = '';
            div.innerHTML='';
             p.innerHTML=year+'-'+(month+1)+'-'+day;
            var firstDay =new Date(year,month,1).getDay();//这个月第一天星期几
             var dayInMonth = daysInMonth(month,year);//这个月的天数
             var sdayInMonth = daysInMonth(month-1,year);//上个月的天数
            var lastDay =new Date(year,month,dayInMonth).getDay();//这个月最后一天星期几
            var slastDay =new Date(year,month-1,sdayInMonth).getDay();//上个月最后一天
            
            var date=1;
             // 补齐前面的日期
            for(var i=sdayInMonth-slastDay;i<=sdayInMonth;i++){
                dayStr+='<li class="current-month" ><span class="currentDate">'+i+'</span></li>';
            }
            //循环出中间的日期
            for(var date=1;date <= dayInMonth;date++){
                if(date==day){//判断是否加背景
                    dayStr += '<li class="dayStyle" ><span class="on" onclick="djadd('+date+')">'+date+'</span></li>';
                }else{
                    dayStr += '<li class="dayStyle" ><span onclick="djadd('+date+')">'+date+'</span></li>';
                }    
            }
        // 补齐后面的日期
        for(var j = 1; j < (7 - lastDay); j++){
            dayStr += '<li class="currentDate" ><span>'+j+'</span></li>';
        }
       
        div.innerHTML=dayStr;
    }
        function syy(){//上一月
            month=month-1;
            if(month<0){
                year=year-1;
                month=11;
            }
            console.log(month,year);
            fn(year,month,day)
        }
        function syn(){//下一年
            year=year-1;
            console.log(month,year);
            fn(year,month,day)
        }
        function addn(){//上一年
            year=year+1;
            console.log(month,year);
            fn(year,month,day)
        }
        function add(){//下一月
            month=month+1;
            if(month>11){
                year=year+1;
                month=0;
            }
            console.log(month,year);
            fn(year,month,day)
        }      
        function djadd(day){//显示选中的天数
            day=day;
            fn(year,month,day);
            rq.innerHTML=year+'-'+(month+1)+'-'+day;
        }
  • 相关阅读:
    MyBatis之动态SQL
    MyBatis(十一) 嵌套结果集的方式,使用collection标签定义关联的集合类型的属性封装规则
    MyBatis(10)使用association进行分步查询
    MyBatis(九) 使用association定义单个对象的封装规则
    MyBatis(八)联合查询 级联属性封装结果集
    MyBatis(七) 自定义映射结果ResultMap
    基于.NET架构的树形动态报表设计与应用
    Web在线报表设计器使用指南
    计量检测行业业务系统如何实现信息化?
    【ActiveReports 大数据分析报告】2019国庆旅游出行趋势预测
  • 原文地址:https://www.cnblogs.com/aSnow/p/8761696.html
Copyright © 2020-2023  润新知