zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    BootStrap 之 CSS全局样式中的表格
    BootStrap 之 CSS全局样式中的图片
    BootStrap 之 CSS全局样式中的按钮
    Objective-C中的消息发送总结
    Android Studio精彩案例(七)《ToolBar使用详解<一>》
    How to Change Default Web ADI Upload Parameters for FlexField Import / Validation
    iOS中的颜色
    基于OGG的Oracle与Hadoop集群准实时同步介绍
    Android简易实战教程--第五十一话《使用Handler实现增加、减少、暂停计数》
    Android Studio精彩案例(六)《使用一个Demo涵盖补间动画所有知识》
  • 原文地址:https://www.cnblogs.com/aSnow/p/8761696.html
Copyright © 2011-2022 走看看