JS 手动实现日历效果

最近的开发任务需要自己实现一个查看某年某月,每天不同事件的概览功能,展示的页面是一个日程表的形式, 所以这个功能就需要手动实现一个JS日历的功能,

日历的页面拿掉所有应该在每日显示的事件,页面需要的效果简略版如下:

JS 手动实现日历效果_第1张图片

由于我们的项目开发框架目前是vue,所以获取当月日历的话,重点是生成一个需要显示的当月每天是星期几的一个数组,然后for循环渲染一下就能获取我们目前所需的当月日历了,功能的开发思路概况来说分以下三个步骤:

一、先获取某年某月的总天数,生成一个当月天数的数组,分别获取当月第一天和最后一天是星期几,这样就可也先得到如下的一个月份数据;

JS 手动实现日历效果_第2张图片

二、如果当月第一天不是星期天,那么获取上月的的总天数,然后将从上月最近一个星期天到当月1号的这几天添加到数组,

JS 手动实现日历效果_第3张图片

三、如果当月最后一天不是星期六,那么只需按需取下月一号开始的几天将当月最后一天的那个星期填满就行了, 这样就得到了我们看到的第一张图的效果。

下面来看一下具体的代码实现, 由于这是一个用来写文章的demo,所以下面的代码是用jq实现的,引入jquery文件后即可查看即时效果,并可以通过修改月份和年份查看即时修改效果:




  
  
  
  Document
  


  

  • 星期天
  • 星期一
  • 星期二
  • 星期三
  • 星期四
  • 星期五
  • 星期六

    你可能感兴趣的:(js)