静态网页:日历

简介: 静态网页:日历

效果:

1.png

群:970353786

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
        <style type="text/css">
            #app{
                width: 600px;
                border: 1px solid black;
                margin: 100px auto;
            }
            #titleBox{
                width: 100%;
                height: 60px;
                line-height: 60px;
                background-color: skyblue;
            }
            #leftspan{
                float: left;
                font-size: 30px;
                cursor: pointer;
            }
            #rightspan{
                float: right;
                font-size: 30px;
                cursor: pointer;
            }
            #title{
                text-align: center;
                font-size: 40px;
            }
            table{
                width: 100%;
                border: 1px solid darkgray;
            }
            tr{
                height: 30px;
            }
            td,th{
                text-align: center;
                border: 1px solid #666;
            }
        </style>
  </head>
  <body>
        <div id="app">
            <div id="titleBox">
                <span id="leftspan">上一个月</span>
                <span id="rightspan">下一个月</span>
                <div id="title">XXXX年XX月</div>
            </div>
            <table  cellspacing="0" cellpadding="0">
                <thead>
                    <tr>
                       <th style="color: red;">周日</th> 
                       <th>周一</th> 
                       <th>周二</th> 
                       <th>周三</th> 
                       <th>周四</th> 
                       <th>周五</th> 
                       <th>周六</th> 
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                    <tr>
                        <td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td>
                    </tr>
                </tbody>
            </table>
        </div>
  </body>
    <script type="text/javascript">
        var leftspan = document.getElementById("leftspan");
        var rightspan = document.getElementById("rightspan");
        var titleDiv = document.getElementById("title")
        var mydate = new Date();
        console.log(mydate);
        showDate();
        function showDate(){
            var year = mydate.getFullYear();//2021
            var month = mydate.getMonth();//用0~11表示1~12
            titleDiv.innerText = year + "年" + (month+1) + "月";
            //确定每个月的日历
            //先确定每个月的1号是星期几
            mydate = new Date(year,month,1);
            var week = mydate.getDay();
            console.log(week);//用0~6表示周日、周一到周六
            //再确定每个月有多少天
            mydate = new Date(year,month+1,0);//0号日期
            console.log(mydate);
            var days = mydate.getDate();
            console.log(days);
            //把日期填写到相应的td中
            //获取所有的td
            var tds = document.querySelectorAll("tbody td");
            console.log(tds);
            // tds[week+0].innerText = 1;
            // tds[week+1].innerText = 1+1;
            // tds[week+2].innerText = 1+2;
            // tds[week+3].innerText = 1+3;  //.....=== days结束
            //先清除td中所有内容
            for (var i = 0;i < tds.length; i++) {
                tds[i].innerText = "";
            }
            //再填写日期
            for (var i = 1;i <= days; i++) {
                tds[week+(i-1)].innerText = i;
            }
            //处理空行
            if (tds[28].innerText == "") {//两行为空
                tds[28].parentNode.style.display = "none"
                tds[35].parentNode.style.display = "none"
            }
            else if (tds[35].innerText == "") {//一行为空
                tds[35].parentNode.style.display = "none"
            }
            else{//显示两行
                tds[28].parentNode.style.display = "table-row"
                tds[35].parentNode.style.display = "table-row"
            }
        }
        //上一个月
        leftspan.onclick = function(){
            // console.log(1);
            var year = mydate.getFullYear();//2021
            var month = mydate.getMonth();//用0~11表示1~12
            month--;
            mydate = new Date(year,month);
            showDate();
        }
        //下一个月
        rightspan.onclick = function(){
            console.log(2);
            var year = mydate.getFullYear();//2021
            var month = mydate.getMonth();//用0~11表示1~12
            month++;
            mydate = new Date(year,month);
            showDate();
        }
    </script>
</html>
<!-- 
    增加功能:
    1、添加上一年和下一年功能
    2、在空的td中填写上一个月的最后几天和下一个月的最初几天,灰色显示。
 -->
相关文章
|
7月前
100套HTML静态网页模板免费分享
100套HTML静态网页模板,设计的十分有特色,由于Github服务器原因可能下载速度较慢,已全部打包整理。
580 0
100套HTML静态网页模板免费分享
|
前端开发 JavaScript
JavaScript日历制作并实现拖动选择日期
JavaScript日历制作并实现拖动选择日期
83 0
|
Java 数据安全/隐私保护 容器
背记不如实战系列-javaGUI实例-日历制作
背记不如实战系列-javaGUI实例-日历制作
154 0
|
前端开发 JavaScript 容器
开源炫酷日历、网页日历模板、自适应大小日历、win10日历
开源炫酷日历、网页日历模板、自适应大小日历、win10日历
360 0
开源炫酷日历、网页日历模板、自适应大小日历、win10日历
|
Serverless
【Axure教程】用中继器做手机版日期选择器和手机日历
【Axure教程】用中继器做手机版日期选择器和手机日历
【Axure教程】用中继器做手机版日期选择器和手机日历
|
数据安全/隐私保护
一个节气日历网站的搭建ES
小白esc使用体验和一些成长经验
一个节气日历网站的搭建ES
|
Windows
私人定制日历代码改进
2021年即将到来,小编学习了calendR这个包,并写了两篇推送。分别为: R可视乎|2021年日历大派送 calendR包—私人定制专属日历 并开源了自己的代码在github上,但是细心的读者发现代码还存在可以优化的地方。
166 0
私人定制日历代码改进
|
前端开发 Python
使用Flask制作美观的网页日历
今天讲使用Flask制作美观的网页日历
457 0