zoukankan      html  css  js  c++  java
  • JS原生实现的简单万年历(平铺)

    <!doctype html>
    <html>
    
    <head>
        <meta charset="utf-8">
        <title>ww</title>
        <style>
            table {
                float: left;
                padding: 15px 15px 15px 15px;
                display: block;
            }
    
            th {
                background: darkred;
                color: whitesmoke;
            }
    
            td {
                color: burlywood;
            }
    
            a {
                text-decoration: none;
                color: black;
            }
    
            a:active {
                background: yellow;
                color: brown;
            }
        </style>
        <script>
            var year = parseInt(prompt("输入年份:", "2021"));
            document.write(calendar(year));
            function calendar(y) {
    
                var html = '';
    
                for (var m = 1; m <= 12; ++m) {
                    html += '<table>';
                    html += '<tr><th colspan="7">' + y + '年' + m + '月</th></tr>';
                    html += '<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>';
    
                    // 获取每个月份共有多少天
                    var max = new Date(y, m, 0).getDate();
    
                    // 从该月份第一天遍历到最后一天
                    for (var d = 1; d <= max; ++d) {
    
                        // 获取指定日期的星期值
                        var w = new Date(y, m - 1, d).getDay();
    
                        if (d == 1) {
                            // 一个月第一天就是一行
                            html += '<tr>';
                        }
    
                        // 逢周日是分行开始
                        if (d != 1 && w == 0) {
                            html += '<tr>'
                        }
    
                        // 第一天不是周日时,插入空白
                        if (d == 1 && w != 0) {
                            html += '<td colspan="' + w + '"></td>'
                        }
    
                        html += '<td onclick="showDate(' + year + ',' + m + ',' + d + ',' + w + ')">' + d + '</td>';
    
                        // 逢周六分行结束
                        if (w == 6) {
                            html += '</tr>'
                        }
                    }
    
                    html += '</table>';
    
                }
                return html;
            }
    
            function showDate(y, m, d, w) {
                w = w == 0 ? '日' : w;
                console.log(y + "年" + m + "月" + d + "日" + "周" + w)
            }
    
        </script>
    </head>
    
    <body>
    
    </body>
    
    </html>

  • 相关阅读:
    Linux内核配置过程
    Linux内核最顶层文档
    LeetCode 11月第2周题目汇总
    Chapter0
    序列加法的讨论
    ch2-基本工具介绍
    ch1-数据科学概述
    在Linux下制作Linux&windows启动盘
    VMware Workstation 与 Device/Credential Guard 不兼容?
    Linux mint 19.3配置CUDA+安装Tensorflow
  • 原文地址:https://www.cnblogs.com/ww01/p/14642572.html
Copyright © 2011-2022 走看看