一个简单的日历

简单的日历!

这是我第一次写博客,我写了一个非常非常简单的日历,实现了根据年月切换显示当前月份的日历,都是用前端写的,有些地方没有想象的完善。
666
点击"<“和”>"能切换月份,月份超过最大值时改变年份,下面是代码

这是html:

<body>
    <form id="form1"  runat="server">
    <div class="div1">
        
        <input type="button" onclick="change()" value="提交"/>
        <table class="table ">
            <tr>
                <th>
                    <input type="button" class="prevbtn" onclick="dian('1')" value="<"/>
                    
                <th>
                    <select id="nian" onchange="gai()">    
                        <script type="text/javascript" >
                            for (i = 1980; i <= 2050; i++) document.write('<option value="' + i + '">' + i)                         
              		    </script>
                    </select><span class="nian"></span>
                </th>
                <th>
                     <select id="yue" onchange="gai()">
                        <script type="text/javascript" >
                            for (i = 1; i <= 12; i++) document.write('<option value="' + i + '">' + i)
              		    </script>
                         
                    </select><span class="yue"></span>
                </th>
                <th>
                    <input type="button" class="today" onclick="dian('3')"  value="返回今日"/>
                </th>
                <th>
                    <input type="button" class="nextbtn" onclick="dian('2')" value=">"/>
                </th> 
            </tr>
            <tr>
                <td colspan="5">
                    <table class="table">
                        <thead>
                            <tr align="center" style="background-color:#CFDFF0;height:24px">
                                <td width="14%"><font color="red"><b></b></font></td>
                                <td width="14%"><b></b></td>
                                <td width="14%"><b></b></td>
                                <td width="14%"><b></b></td>
                                <td width="14%"><b></b></td>
                                <td width="14%"><b></b></td>
                                <td width="14%"><font color="red"><b></b></font></td>
                            </tr>
                        </thead>
                        <tbody id="nei">
                            <script>
                                var year = $("#nian").val();
                                var month = $("#yue").val();
                                var day_tep = 0;
                                var days = new Array();
                                var time = new Date(year, month, 0);//当前月最后一天
                                var dayInMonth = time.getDate();//一个月有多少天
                                var firstDay = new Date(year, month - 1, 1);
                                var weekDay = firstDay.getDay(); //获取当月第一天是周几
                                //一个月有几个星期,向上取整
                                var weeks = Math.ceil((dayInMonth + weekDay) / 7);
                                for (var i = 0; i < weeks; i++) {//i为一个月的第几周
                                    days[i] = new Array();
                                    document.write('<tr>');
                                    for (var j = 0; j < 7; j++) {//j代表星期几
                                        if ((i == 0 & j >= weekDay) || (i > 0 & day_tep < dayInMonth)) {
                                            day_tep++;
                                            days[i][j] = day_tep;
                                            document.write('<td>' + days[i][j] + '</td>');
                                        } else {
                                            days[i][j] = "";
                                            document.write('<td>' + days[i][j] + '</td>');
                                        }
                                    }
                                    document.write('</tr>');
                                }
                            </script>
                        </tbody>
                    </table>

                </td>
            </tr>
                
        </table>
    </div>
    </form>
</body>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
        function NianChange() {
            var nian = $("#nian").val();
            //年份能整除4 且 不能被100整除的  与 年份能被400整除的  为闰年
            if ((nian % 4) == "0" && (nian % 100) != "0" || nian % 400 == "0") {
                alert(nian + "闰  366天 2月29 天 ");
               
            } else {
                $("#nianrun").html("平年");
                alert(nian + "平  365天 2月28 天 ");
            }

        }
        function solarDays(y, m) {
            if (m == 1)
                return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28);
            else
                return (solarMonth[m]);
        }

        function change(){
            var theNian = $("#nian").val();
            var theYue = $("#yue").val();
            //alert(theNian + "年   " + theYue+"月");
            NianChange();
        }
        
        function gai() {
            var year = $("#nian").val();
            var month = $("#yue").val();
            var day_tep = 0;
            var str = "";
            var days = new Array();
            var time = new Date(year, month, 0);//当前月最后一天
            var dayInMonth = time.getDate();//一个月有多少天
            var firstDay = new Date(year, month - 1, 1);
            var weekDay = firstDay.getDay(); //获取当月第一天是周几
            //一个月有几个星期,向上取整
            var weeks = Math.ceil((dayInMonth + weekDay) / 7);
            for (var i = 0; i < weeks; i++) {//i为一个月有几周
                days[i] = new Array();
                str += "<tr>";
                for (var j = 0; j < 7; j++) {//j代表星期几
                    if ((i == 0 & j >= weekDay) || (i > 0 & day_tep < dayInMonth)) {
                        day_tep++;
                        days[i][j] = day_tep;
                        str += "<td>" + days[i][j] + "</td>"


                    } else {
                        days[i][j] = "";
                        str += "<td>" + days[i][j] + "</td>"
                    }
                }
                str += "</tr>";
            }
            $("#nei").html(str);
        }
        function pushBtm(K) {
            switch (K) {
                case 'YU':
                    if (CLD.SY.selectedIndex > 0) CLD.SY.selectedIndex--;
                    break;
                case 'YD':
                    if (CLD.SY.selectedIndex < 200) CLD.SY.selectedIndex++;
                    break;
                case 'MU':
                    if (CLD.SM.selectedIndex > 0) {
                        CLD.SM.selectedIndex--;
                    }
                    else {
                        CLD.SM.selectedIndex = 11;
                        if (CLD.SY.selectedIndex > 0) CLD.SY.selectedIndex--;
                    }
                    break;
                case 'MD':
                    if (CLD.SM.selectedIndex < 11) {
                        CLD.SM.selectedIndex++;
                    }
                    else {
                        CLD.SM.selectedIndex = 0;
                        if (CLD.SY.selectedIndex < 200) CLD.SY.selectedIndex++;
                    }
                    break;
                default:
                    CLD.SY.selectedIndex = tY - 1900;
                    CLD.SM.selectedIndex = tM;
            }
            changeCld();
        }

        function dian(e) {
            switch (e) {
                case '1':
                    if (yue.selectedIndex > 0) {
                        yue.selectedIndex--;
                    } else {
                        nian.selectedIndex--;
                        yue.selectedIndex = 11;
                    }
                    gai();
                    break;
                case '2':
                    if (yue.selectedIndex < 11) {
                        yue.selectedIndex++; 
                    } else {
                        nian.selectedIndex++;
                        yue.selectedIndex = 0;
                    }
                    gai();                  
                    break;
                case '3':
                    today();
                    break;
            }
        }
        function today() {
            var date = new Date();
            var a = date.getFullYear() - 1980;
            var b = date.getMonth();
            nian.selectedIndex = a;
            yue.selectedIndex = b;
            gai();
        }
    </script>

这是样式:

<style>
        body ,html{overflow: hidden;font-family:"微软雅黑";margin:0px;padding:0px;text-align:center;}
         .div1 {
            width:500px;
            margin:0 auto;
            margin-top:200px;
         }
        .table{
            width:100%; 
            border:1px solid red;
            border-radius:20px;
            border-collapse:collapse;
        }
        .table td{
            border :1px solid black;
            background-color:#ffffff;
        }
        .table th{
            border :1px solid black;
            background-color:#ededed;
            font-weight: bold;
        }
        .div{            
              padding:3px 3px;
              margin:0 auto; 
              background-color :#E8E8EC;      
        }
    </style>

直接粘贴就可以哦 ( ̄▽ ̄)~*。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值