js的一个日历

<script>
    var year = prompt('输入年份','2020');
    document.write(calender(year));
    
    function calender(year){
        //拿到每年第一天的星期数
        var w = new Date(year,0).getDay();
        var html = '<div class="box">';
        html="<div class='top'>"+year+"年日历</div>";
        
        //列表格式
            for(var m=1;m<=12;m++){
                html+="<table>";
                html+="<tr><th class='title' colspan='7'>"+year+"年"+m+"月</th></tr>";
                //星期格式
                html+="<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>";
                //获取m月天数(上个月的最后一天)
                var max = new Date(year,m,0).getDate();
                //每月一号跨列处理
                html+="<tr>"
                    for(var d=1;d<=max;d++){
                       if(w&&d==1) {
                           html+="<td colspan='"+w+"'></td>"
                       }
                       //依次填入日期
                       html+="<td>"+d+"</td>";
                       //不是月底的星期六换行处理
                       if(w==6&&d!=max){
                           html+="</tr><tr>";
                       }
                       else if(d==max){
                           html+="</tr>";
                       }
                       //获取每一天的星期,若是星期日则换行
                       if(w+1>6){
                           w=0;
                       }
                       else{
                           w=w+1;
                       }
                    // w=(w+1>6)?0:w+1;
                    }
                html+="</table>";    
            }
            html+="</div>";
            return html;
    }
</script>
<style>
    *{
        font-family: 隶书;
        color: #35363A;
    }
    div.box{
        margin: 0 auto;
        width:880px;
        padding-left: 200px;
    }
    .top{
        margin: 60px 60px 60px 680px;
        font-size: 32px;
    }
    table{
        width: 220px;
        height: 250px;
        float:left;
        border: 1px black dotted;
        margin: 20px 10px;
        border-radius: 10px;
        padding: 5px;
    }
    .title{
        background-color: #cccccc;
        border-radius: 10px;
    }
    
    td{
        
        margin: 3px;
    }
    
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值