制作一个万年历

完成效果(2022年)

 

 

CSS部分

 

<style>

     .years_header {

            width: 350px;

            height: 30px;

            margin: 0 auto;

            line-height: 30px;

            font-size: 35px;

            text-align: center;

            margin-bottom: -20px;

        }

        .month_header {

            width: 298px;

            height: 30px;

            text-align: center;

            line-height: 30px;

            font-size: 16px;

            font-weight: 700;

        }

        .months {

            width: 297px;

            height: 210px;

            float: left;

            box-sizing: border-box;

            text-align: left;

            border: 1px red dashed;

            margin-left: 65px;

            margin-top: 15px;

            border-radius: 15px;

        }

       .days {

            width: 42px;

            height: 25px;

            float: left;

            box-sizing: border-box;

            text-align: center;

            line-height: 20px;

            background-color: aqua;

            border: 1px black solid;

            border-radius: 5px;

        }

    </style>

JS部分

 

<script>

    var year = prompt("请输入一个年份")

    document.write("<div class='years_header'>" + year + "年" + "</div>")

    for (let month = 0; month < 12; month++) {

        var days = new Date(year, month + 1, 0).getDate() //获取每一个月有多少天

        if (month % 4 == 0) {

            document.write("<br>")

        }

        document.write('<div class="months">'); //按月进行换行 月标签的前标签

        document.write('<div class="month_header">' + (year + "年" + (month + 1) + "月" + "<br>") + "</div>");

        for (let week = 0; week < 7; week++) {

            switch (week) {

                case 0:

                    document.write('<div class="days">' + "日" + "</div>");

                    break;

                case 1:

                    document.write('<div class="days">' + "一" + "</div>");

                    break;

                case 2:

                    document.write('<div class="days">' + "二" + "</div>");

                    break;

                case 3:

                    document.write('<div class="days">' + "三" + "</div>");

                    break;

                case 4:

                    document.write('<div class="days">' + "四" + "</div>");

                    break;

                case 5:

                    document.write('<div class="days">' + "五" + "</div>");

                    break;

                case 6:

                    document.write('<div class="days">' + "六" + "</div>");

                    break;

            }

        }

        var week = new Date(year, month, 1).getDay()

        for (let space = 0; space < week; space++) {

            document.write('<div class="days">' + "</div>"); //定义每个月的第一天是周几,是周几就在前边写多少个空div

        }

        for (let i = 0; i < days; i++) {

            document.write('<div class="days">' + (i + 1) + "</div>"); //循环输出每一天

        }

        document.write('</div>'); //按月进行换行 月标签的前标签

    }

</script>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值