js中的小案例(一)

 

效果图:

html代码:

 <div id="date"> <p> <span id="prev">上一月</span> <span id="year">2022</span> <span id="next">下一月</span> </p> <h5 id="month">七月</h5> <ul id="title"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <ul id="days"></ul> </div>  

css代码:

 *{ margin: 0px; padding: 0px; } #date{ width: 300px; padding: 10px; border: 1px solid #000000; } #date>p{ display: flex; } #date>p>span{ display: inline-block; width: 100px; text-align: center; } #month{ text-align: center; font-weight: 400; } #title{ list-style: none; display: flex; width: 300px; padding: 0; margin: 0; } #title>li{ flex: 1; text-align: center; width: 100%; background: #C0C0C0; } #days{ height: 250px; margin-top: 10px; } #days>li{ list-style: none; text-align: center; float: left; width: 42.28px; height: 42.28px; } .active{ color:orange; }  

javascript代码:

    let date=new Date(); add(); function add(){ let year=date.getFullYear() document.getElementById("year").innerText=year let month=date.getMonth(); let monthArr=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]; document.getElementById("month").innerText=monthArr[month]; // 获取当天的天数 let currentDay=date.getDate() // 获取每个月的第一天是周几 let week=new Date(year,month,1).getDay(); let html="" // 代表前面空白的li标签  for(var i=0;i<week;i++){ console.log(i) html+="<li></li>" } // 获取每个月的天数的最后一天 let lastDay=new Date(year,month+1,0).getDate() for(var i=1;i<=lastDay;i++){ if(i==currentDay){ html+=`<li class="active">${i}</li>` }else{ html+=`<li>${i}</li>` } } document.getElementById("days").innerHTML=html } document.getElementById("prev").onclick=function(){ date.setMonth(date.getMonth()-1) add(); } document.getElementById("next").onclick=function(){ date.setMonth(date.getMonth()+1) add(); }

关键代码是

new Date(year,month,1).getDay()  获取每个月的第一个天是星期几

new Date(year,month+1,0).getDate()  获取每个月的最后一天是几号

相关文章