基于JavaScript如何实现每日签到打卡轨迹功能

  介绍

这篇文章给大家分享的是有关基于JavaScript如何实现每日签到打卡轨迹功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体内容如下

1。核心文件,calendar.js 

var  calUtil =, {   ,//当前日历显示的年份   2018年,showYear:   ,//当前日历显示的月份   ,showMonth: 1、   ,//当前日历显示的天数   ,showDays: 1、   ,eventName:“load"   ,//初始化日历   ,初始化:函数(signList) {   calUtil.setMonthAndDay才能();   calUtil.draw才能(signList);   ,,   },   ,画:函数(signList) {//绑才能定日历   var 才能;str =, calUtil.drawCal (calUtil.showYear, calUtil.showMonth signList);   美元才能(“# calendar") . html (str);//绑才能定日历表头   var 才能calendarName=calUtil.showYear +“年“+ calUtil.showMonth +“月”;   美元才能(“.calendar_month_span") . html (calendarName);,   },   ,//获取当前选择的年月   ,setMonthAndDay:函数(){   开关(calUtil.eventName)才能   {才能   ,,case “load":   ,,,var  current =, new 日期();   ,,,calUtil.showYear=current.getFullYear ();   ,,,calUtil.showMonth=current.getMonth (), +, 1;   ,,,休息;   ,,case “prev":   ,,,var  nowMonth=$ (“.calendar_month_span") . html () .split(“年“)[1].split(“月“)[0];   ,,,calUtil.showMonth=方法(nowMonth) 1;   ,,,如果(calUtil.showMonth==0)   ,,,{   ,,,,,calUtil.showMonth=12;   ,,,,,calUtil.showYear -=1;   ,,,}   ,,,休息;   ,,case “next":   ,,,var  nowMonth=$ (“.calendar_month_span") . html () .split(“年“)[1].split(“月“)[0];   ,,,calUtil.showMonth=方法(nowMonth) + 1;   ,,,如果(calUtil.showMonth==13)   ,,,{   ,,,,,calUtil.showMonth=1;   ,,,,,calUtil.showYear +=1;   ,,,}   ,,,休息;   ,,}   },   ,getDaysInmonth :函数(iMonth, iYear) {   var 才能;dPrevDate =, new 日期(iYear, iMonth,, 0);   return 才能dPrevDate.getDate ();   },   ,bulidCal :函数(iYear, iMonth), {   var 才能;aMonth =, new 数组();   aMonth才能[0],=,new 数组(7);   aMonth才能[1],=,new 数组(7);   aMonth才能[2],=,new 数组(7);   aMonth才能[3],=,new 数组(7);   aMonth才能[4],=,new 数组(7);   aMonth才能[5],=,new 数组(7);   aMonth才能[6],=,new 数组(7);   var 才能;dCalDate =, new 日期(iYear, iMonth 安康,1,1);   var 才能;iDayOfFirst =, dCalDate.getDay ();   var 才能;iDaysInMonth =, calUtil.getDaysInmonth (iYear iMonth也);   var 才能;iVarDate =, 1;   ,,var  d w;   aMonth才能[0][0],=,“日”;   aMonth才能[0][1],=,“一”;   aMonth才能[0][2],=,“二”;   aMonth才能[0][3],=,“三”;   aMonth才能[0][4],=,“四”;   aMonth才能[0][5],=,“五”;   aMonth才能[0][6],=,“六”;   for 才能;(d =, iDayOfFirst;, d  & lt;, 7,, d + +), {   aMonth才能[1][d],=, iVarDate;   iVarDate才能+ +;   ,,}   for 才能;(w =, 2,, w  & lt;, 7;, w + +), {   for 才能;(d =, 0;, d  & lt;, 7,, d + +), {   ,,if  (iVarDate  & lt;=, iDaysInMonth), {   ,,aMonth [w] [d],=, iVarDate;   ,,iVarDate + +;   ,,}   ,,}   ,,}   return 才能;aMonth;   },   ,ifHasSigned :函数(signList天){   var 才能;signed =,假;   美元才能each (signList函数(指数项){   如果才能(==item.signDay 天),{   ,,signed =,真的;   ,,return 假;   ,,}   ,,});   return 才能;signed ;   },   ,drawCal :函数(iYear, iMonth , signList), {   var 才能;myMonth =, calUtil.bulidCal (iMonth iYear也);   var 才能;htmls =, new 数组();   htmls.push才能(“& lt; div 类=& # 39;sign_main& # 39;, id=& # 39; sign_layer& # 39;在“);   htmls.push才能(“& lt; div 类=& # 39;sign_succ_calendar_title& # 39;在“);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

基于JavaScript如何实现每日签到打卡轨迹功能