您现在的位置:首页 >> 前端 >> 内容

js日历效果代码实现教程

时间:2018/1/10 14:04:00 点击:

  核心提示:js日历效果代码实现教程!DOCTYPE htmlhtmlheadtitle/titlestyle type=text/css.week{display: flex;padding: 0px 15px...

js日历效果代码实现教程

<!DOCTYPE html>  
<html>  
<head>  
    <title></title>  
    <style type="text/css">  
    .week{  
        display: flex;  
        padding: 0px 15px;  
        background-color: #eeeeee;  
        height: 30px;  
        line-height: 30px;  
        color: #666666;  
        font-size: 14px;  
    }  
    .week p{  
        flex: 1;  
        text-align: center;  
    }     
     .date .day{  
        display: flex;  
        padding: 0px 15px;  
        font-size: 14px;  
    }  
    .date .day p.left{  
        border-left: 1px solid #eeeeee;  
    }  
    .date .day p.top{  
        border-top: 1px solid #eeeeee;  
    }  
    .date .day p.item{  
        flex: 1;  
        text-align: center;  
        border-bottom: 1px solid #eeeeee;  
        border-right: 1px solid #eeeeee;  
        height: 50px;  
        color:#333333;  
    }     
    </style>  
</head>  
<body>  
    <section class="week">  
        <p>日</p>  
        <p>一</p>  
        <p>二</p>  
        <p>三</p>  
        <p>四</p>  
        <p>五</p>  
        <p>六</p>  
    </section>  
    <section class="date date-two">  
        <p class="datalist"></p>  
    </section>  
</body>  
<script type="text/javascript" src="./jquery-3.2.1.min.js" ></script>  
<script type="text/javascript">  
        //计算对应的年月  
        var day = new Date()  
        var month = day.getMonth() + 1;  
        month = month < 10 ? '0' + month : month;  
        //计算当前月份的总天数  
        var day = new Date( day.getFullYear(), day.getMonth()+ 1, 0);  
        var allDay = day.getDate();  
        //判断本月第一天是星期几  
        day.setDate(1); //时间调整到本月第一天  
        var firstday = day.getDay(); //读取本月第一天是星期几   0表示周日  
        var rows = Math.ceil((allDay + firstday) / 7); //当前月天数+第一天是星期几的数值 获得表格行数  
        var i, k, idx, date_str;  
        var item = ''  
        for(i = 0; i < rows; i++) { //表格的行  
            var item = "<p class='day'>";  
            for(k = 0; k < 7; k++) { //表格每行的单元格  
                idx = i * 7 + k; //单元格自然序列号  
                date_str = idx - firstday + 1; //计算日期  
                date_str = (date_str <= 0 || date_str > allDay) ? " " : date_str; //过滤无效日期(小于等于零的、大于月总天数的)  
                date_str_2 = date_str < 10 ? '0' + date_str : date_str;  
                _date = day.getFullYear() + '-' + month + '-' + date_str_2;  
                if(i == 0) {   //第一行  
                    if(k == 0) {  第一列  
                        item += "<p  class='item top  left'><p>" + date_str + "</p></p>";  
                    } else {  
                        item += "<p  class='item top '><p>" + date_str + "</p></p>";  
                    }  
                } else {  
                    if(k == 0) { 第一列  
                        item += "<p  class='item  left'><p>" + date_str + "</p></p>";  
                    } else {  
                        item += "<p  class='item '><p>" + date_str + "</p></p>";  
                    }  
                }  
            }  
            item += "</p>"  
            $(".datalist").append(item)  
        }  
          
</script>  
  
      
</html>  

Tags:JS S日 日历 历效 
作者:网络 来源:mario08的博客