输入年月,通过js获取日历

<!DOCTYPE html>

<html lang="en">

 

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>日历</title>

    <style>

        span {

            display: inline-block;

            width: 41px;

            height: 28px;

            line-height: 28px;

            text-align: center;

        }

        h3{

            margin-top: 50px;

        }

       

    </style>

</head>

 

<body>

 

    <h2>请输入你要查看的年月</h2>

    <input type="text" name="" id="">年

    <input type="text" name="" id="">月

    <button>显示日历</button>

    <br>

    <h3>日历表</h3>

    <div class="box"></div>

    <script>

 

        var btn = document.getElementsByTagName("button")[0]

        var div1 = document.getElementsByTagName("div")[0]

 

        // 定义内部元素

        var sp

        var div

 

        // 点击函数

        btn.onclick = function () {


 

            // 当父元素的子节点值大于0 的时候 清除所有子节点

            // 防止div中元素一直叠加

           if(div1.childNodes.length>0){

                div1.removeChild(sp)

                div1.removeChild(div)

           }

 

            var inp1 = Number(document.getElementsByTagName("input")[0].value)

            var inp2 = Number(document.getElementsByTagName("input")[1].value)


 

        // 判断月份

            if (inp2 == 1 | inp2 == 3 | inp2 == 5 | inp2 == 7 | inp2 == 8 | inp2 == 10 | inp2 == 12) {

                // 获取第一天是周几

                var d = new Date(inp1, inp2 - 1, 1).getDay()

                // 用来存储插入的span

                var arr = []

                sp = document.createElement("div")

                // 插入日期头

                sp.innerHTML = "<div> <span>日</span> <span>一</span><span>二</span><span>三</span><span>四</span><span>五</span><span>六</span></div>"

                div1.appendChild(sp)

                div = document.createElement("div")

                div1.appendChild(div)

                // 判断1号是周几

                for (var i = 0; i < d ; i++) {

                    var span = document.createElement("span")

                    span.innerHTML = "**"

                    div.appendChild(span)

                    arr.push(span)

                }

                // 天数循环

                for (var i = 1; i < 32; i++) {

                    var span = document.createElement("span")

                    span.innerHTML = i

                    div.appendChild(span)

                    arr.push(span)

                    if (arr.length % 7 == 0) {

                        // 每次arr长度是7的倍数 换行

                        var br = document.createElement("br")

                        div.appendChild(br)

 

                    }

                }

 

            } else if (inp2 == 2) {

                // 闰年 有29天 判断闰年

                if (inp1 % 4 == 0 && inp1 % 100 != 0 || inp1 % 400 == 0) {

 

                    var d = new Date(inp1, inp2 - 1, 1).getDay()

                    var arr = []

                    sp = document.createElement("div")

                    sp.innerHTML = "<div> <span>日</span> <span>一</span><span>二</span><span>三</span><span>四</span><span>五</span><span>六</span></div>"

                    div1.appendChild(sp)

                    div = document.createElement("div")

                    div1.appendChild(div)

                    for (var i = 0; i < d ; i++) {

                        var span = document.createElement("span")

                        span.innerHTML = "**"

                        div.appendChild(span)

                        arr.push(span)

                    }

                    for (var i = 1; i < 30; i++) {

                        var span = document.createElement("span")

                        span.innerHTML = i

                        div.appendChild(span)

                        arr.push(span)

                        if (arr.length % 7 == 0) {

                            var br = document.createElement("br")

                            div.appendChild(br)

 

                        }

                    }

                } else {

                    var arr = []

                    var d = new Date(inp1, inp2 - 1, 1).getDay()

                    sp = document.createElement("div")

                    sp.innerHTML = "<div> <span>日</span> <span>一</span><span>二</span><span>三</span><span>四</span><span>五</span><span>六</span></div>"

                    div1.appendChild(sp)

                    div = document.createElement("div")

                    div1.appendChild(div)

                    for (var i = 0; i < d ; i++) {

                        var span = document.createElement("span")

                        span.innerHTML = "**"

                        div.appendChild(span)

                        arr.push(span)

                    }

                    for (var i = 1; i < 29; i++) {

                        var span = document.createElement("span")

                        span.innerHTML = i

                        div.appendChild(span)

                        arr.push(span)

                        if (arr.length % 7 == 0) {

                            var br = document.createElement("br")

                            div.appendChild(br)

 

                        }

                    }

                }

            } else {

                var arr = []

                var d = new Date(inp1, inp2 - 1, 1).getDay()

                sp = document.createElement("div")

                sp.innerHTML = "<div> <span>日</span> <span>一</span><span>二</span><span>三</span><span>四</span><span>五</span><span>六</span></div>"

                div1.appendChild(sp)

                div = document.createElement("div")

                div1.appendChild(div)

                for (var i = 0; i < d ; i++) {

                    var span = document.createElement("span")

                    span.innerHTML = "**"

                    div.appendChild(span)

                    arr.push(span)

                }

                for (var i = 1; i < 31; i++) {

                    var span = document.createElement("span")

                    span.innerHTML = i

                    div.appendChild(span)

                    arr.push(span)

                    if (arr.length % 7 == 0) {

                        var br = document.createElement("br")

                        div.appendChild(br)

                    }

                }

            }

        }

    </script>

</body>

</html>

以上就是通过js实现一个日历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只java小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值