欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript制作日历

程序员文章站 2022-03-13 13:56:10
...

仅供参考

图片如下

JavaScript制作日历

代码如下

css代码

  1. <style>
  2. *{
  3. margin: 0px;
  4. padding: 0px;
  5. }
  6. #data{
  7. width: 300px;
  8. border: 1px solid #000;
  9. margin: 20px auto;
  10. background: cornsilk;
  11. }
  12. #data > p{
  13. display: flex;
  14. }
  15. #data > h5{
  16. text-align: center;
  17. }
  18. #data > p >span{
  19. padding: 0px 10px;
  20. }
  21. #prev,#next{
  22. cursor: pointer;
  23. }
  24. #main{
  25. flex: 1;
  26. text-align: center;
  27. }
  28. #title{
  29. overflow: hidden;
  30. list-style: none;
  31. background: #ccc;
  32. }
  33. #title li{
  34. float: left;
  35. width: 40px;
  36. height: 26px;
  37. line-height: 26px;
  38. text-align: center;
  39. }
  40. #date{
  41. overflow: hidden;
  42. list-style: none;
  43. }
  44. #date li{
  45. float: left;
  46. width: 35px;
  47. height: 35px;
  48. margin: 1px 1px;
  49. border: 2px solid #000;
  50. line-height: 35px;
  51. cursor: pointer;
  52. text-align: center;
  53. }
  54. #date .hover:hover{
  55. border: 2px solid darkorchid;
  56. }
  57. .active{
  58. color: darkorchid;
  59. }
  60. </style>

html代码

  1. <div id="data">
  2. <p>
  3. <span id="prev">上一个月</span>
  4. <span id="main">2021</span>
  5. <span id="next">下一个月</span>
  6. </p>
  7. <h5 id="yue">十一月</h5>
  8. <ul id="title">
  9. <li></li>
  10. <li></li>
  11. <li></li>
  12. <li></li>
  13. <li></li>
  14. <li></li>
  15. <li></li>
  16. </ul>
  17. <ul id="date"></ul>
  18. </div>

JavaScript代码

  1. <script>
  2. let date=new Date(); //获取默认时间对象
  3. add(); //当页面第一次进入渲染一下
  4. function add(){
  5. let cDay=date.getDate(); //获取当前的天
  6. let cMonth=date.getMonth(); //获取当前的月份0-11
  7. let cYear=date.getFullYear(); //获取当前的年
  8. //每一个月的第一天,是周几
  9. let zhou=new Date(cYear,cMonth,1).getDay();
  10. //获取每个月的天数
  11. let days=new Date(cYear,cMonth+1,-1).getDate()+1; //每个月的天数
  12. let arr=['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
  13. document.getElementById('main').innerHTML=cYear;
  14. document.getElementById('yue').innerHTML=arr[cMonth];
  15. let html='';
  16. for(var i=0;i<zhou;i++){
  17. html+='<li><li>';
  18. }
  19. for(var i=1;i<=days;i++){
  20. if(i==cDay){
  21. html+="<li class='active'>"+i+'</li>';
  22. }else{
  23. html+='<li class="hover">'+i+'</li>';
  24. }
  25. }
  26. document.getElementById('date').innerHTML=html;
  27. }
  28. document.getElementById('prev').onclick=function(){
  29. date.setMonth(date.getMonth()-1);
  30. add();
  31. }
  32. document.getElementById('next').onclick=function(){
  33. date.setMonth(date.getMonth()+1);
  34. add();
  35. }
  36. </script>