制作年历- 利用 prompt() 函数接收用户设置的年份。- 编写 calendar() 函数,根据指定的年份生成年历。- 设计并输出日历的显示样式。- 获取指定年份1月1日的星期值,获取

<body>
    <!-- <table>
        <tr>
            <th colspan="7">2022年2月23日</th>
        </tr>
        <tr>
            <td>日</td>
            <td>一</td>
            <td>二</td>
            <td>三</td>
            <td>四</td>
            <td>五</td>
            <td>六</td>
        </tr>
    </table> -->
    <script>
        // 制作年历
        //     -
        //     利用 prompt() 函数接收用户设置的年份。 -
        //     编写 calendar() 函数, 根据指定的年份生成年历。 -
        //     设计并输出日历的显示样式。 -
        //     获取指定年份1月1日的星期值, 获取每个月共有多少天。 -
        //     循环遍历每个月中的日期。 -
        //     将日期显示到对应的星期下面。
        function calendar(y) {
            var html = '';
            // 每一年从星期几开始
            var week = new Date(y, 0).getDay();
            for (let i = 1; i <= 12; i++) {
                html += '<table>';
                html += '<tr><th colspan = "7">' + y + '年' + i + '月</th></tr > ';
                html += '<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>';
                // 一个月有几天
                var days = new Date(y, i, 0).getDate();
                html += '<tr>';
                for (let j = 1; j <= days; j++) {
                    // 合并单元格,若是第一天,或者星期大于天的前面都合并
                    if (j == 1 && week > 0) {
                        html += '<td colspan="' + week + '"></td>';
                    }
                    // 将天数填入单元格中
                    html += '<td>' + j + '</td>';
                    // 每当到星期六都要换行用结束 </tr>开始<tr>
                    if (week == 6) {
                        html += '</tr><tr>';
                    }
                    // 每当星期看是不是星期六, 若大于星期六则转到星期天。
                    week = week + 1 > 6 ? 0 : week + 1;
                }
            }
            html += '</tr>';
            html += '</table>';
            return html;
        }
        var year = prompt('输入年份:');
        document.write(calendar(year));
    </script>
</body>

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值