js 简单日历

  • 看效果图
    日历.png
  • 代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js 简单日历</title>
    <style type="text/css">
        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .calendar{
            border-radius: 10px;
            width: 400px;
            margin:100px auto 0;
            box-shadow: 0 0 15px 5px #888;
            padding: 20px 0;
            box-sizing: border-box;
        }
        .calendar>ul{
            display: flex;
            justify-content: space-around;
            margin-bottom: 20px;
            color: #4A8AF4;
        }
        ul .month:hover{
            color: #DD4F43;
            cursor: pointer;
        }
        .calendar dl{
            display:flex;
            text-align:center;
            height: 40px;
            line-height: 40px;
            color:#888;
            font-weight:bold;
        }
        dl dd{
            width: 14.3%;
        }
        .calendar ol{
            display: flex;
            flex-wrap: wrap; 
        }
        ol li{
            width: 14.28%;
            text-align:center;
            height: 40px;
            line-height: 40px;
            box-sizing: border-box;
            border: #fff 2px solid;
        }
        ol .hover:hover{
            border: #DD4F43 2px solid;
        }
        .today{
            color: #DD4F43;
            font-weight: bold;
        }
    </style>
   
</head>
<body>
    <div class="calendar">
        <ul>
            <li class="month" onclick='prev()'>< 上一月</li>
            <li class='date-show'></li>
            <li class="month" onclick='next()'>下一月 ></li>
        </ul>
        <dl>
            <dd></dd>
            <dd></dd>
            <dd></dd>
            <dd></dd>
            <dd></dd>
            <dd></dd>
            <dd></dd>
        </dl>
        <ol></ol>
    </div>
<script type="text/javascript">
    var object = {}
    var arr = [1,2,3,4,5,6,7]
    var newDate = new Date();
    var year = newDate.getFullYear();
    var month = newDate.getMonth();
    var monthSub = month;
    var date = newDate.getDate();
    var dateShow = document.getElementsByClassName('date-show')[0];
    function getMyMonth(mon) {
        var lastDay = new Date(year,mon+1,0).getDate();
        var weekNum = new Date(year,mon,1).getDay();
        let y = new Date(year,mon).getFullYear()
        let m = new Date(year,mon).getMonth()
        dateShow.innerText = y+"年"+(m+1)+"月"
        var prevDays = '';
        var days = '';
        if(weekNum == 0) weekNum = 7;
        for(i = 1; i < weekNum; i ++){
            prevDays += "<li></li>"
        }
        for(i = 1; i <= lastDay; i ++){
            if(y == year && m == month && i == date){
                days += "<li class='today hover'>" + i + "</li>"
            }else{
                days += "<li class='hover'>" + i + "</li>"
            }
            
        }
        var ol = document.getElementsByTagName('ol')[0];
        ol.innerHTML = prevDays + days;
    }
    getMyMonth(month);
    function prev(){
        getMyMonth(-- monthSub); 
    }
    function next(){
        getMyMonth(++ monthSub);
    }
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值