1 var calUtil ={2 //当前日历显示的年份
3 showYear:2015,
4 //当前日历显示的月份
5 showMonth:1,
6 //当前日历显示的天数
7 showDays:1,
8 eventName:"load",
9 //初始化日历
10 init:function(signList,s=''){11 calUtil.setMonthAndDay();12 if (typeof(s) == 'undefined'){13 }else{14 signList.splice('','',s);15 }16 calUtil.draw(signList);17 calUtil.bindEnvent(signList);18 },
19 draw:function(signList){20 //绑定日历21 //alert(signList.length);22 // console.log(signList);
23 if(signList.length > 21){24 //alert(21);
25 $("#sign_note").empty();26 $("#sign_note").html(' 已达标,获取1次抽奖');27 }28 var str = calUtil.drawCal(calUtil.showYear,calUtil.showMonth,signList);29 $("#calendar").html(str);30 //绑定日历表头
31 var calendarName=calUtil.showYear+"/"+calUtil.showMonth+"";32 $(".calendar_month_span").html(calendarName);33 },
34 //绑定事件
35 bindEnvent:function(signList){36 绑定上个月事件37 // $(".calendar_month_prev").click(function(){38 // //ajax获取日历json数据39 // //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];40 // calUtil.eventName="prev";41 // calUtil.init(signList);42 // });43 // //绑定下个月事件44 // $(".calendar_month_next").click(function(){45 // //ajax获取日历json数据46 // //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];47 // calUtil.eventName="next";48 // calUtil.init(signList);49 // });
50
51 $(".calendar_record").click(function(){52 //ajax获取日历json数据53 // console(typeof(signList)+"yxy");54 //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];55 //var tmp = {"signDay":$(this).html()};56 //if (typeof(signList) == 'undefined'){57 //不做处理58 //}else{59 // signList.splice('','',tmp);60 // console.log(signList);61 // calUtil.init(signList);62 // }63 //alert($(this).html());
64 var tmp = {"signDay":$(this).html()};65 console.log(tmp.signDay)66
67 //if(tmp.signDay==11){68 //执行签到
69 $.ajax({70 type:'POST',
71 url:"checksign.html",
72 data:{day:tmp.signDay},
73 dataType:'json',
74 success:function(res){75 //if(res.result==1){76 // calUtil.init(signList,tmp);77 // }else{
78 alert(res.msg);79 location.reload(true);80 //}
81
82 }83 })84
85 //}else{86 // alert("请签到当天日期")87 // }
88 });89 },
90 //获取当前选择的年月
91 setMonthAndDay:function(){92 switch(calUtil.eventName)93 {94 case "load":
95 var current = new Date();96 calUtil.showYear=current.getFullYear();97 calUtil.showMonth=current.getMonth() + 1;98 break;99 case "prev":
100 var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];101 calUtil.showMonth=parseInt(nowMonth)-1;102 if(calUtil.showMonth==0)103 {104 calUtil.showMonth=12;105 calUtil.showYear-=1;106 }107 break;108 case "next":
109 var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];110 calUtil.showMonth=parseInt(nowMonth)+1;111 if(calUtil.showMonth==13)112 {113 calUtil.showMonth=1;114 calUtil.showYear+=1;115 }116 break;117 }118 },
119 getDaysInmonth : function(iMonth,iYear){120 var dPrevDate = new Date(iYear, iMonth, 0);121 return dPrevDate.getDate();122 },
123 bulidCal : function(iYear,iMonth) {124 var aMonth = new Array();125 aMonth[0] = new Array(7);126 aMonth[1] = new Array(7);127 aMonth[2] = new Array(7);128 aMonth[3] = new Array(7);129 aMonth[4] = new Array(7);130 aMonth[5] = new Array(7);131 aMonth[6] = new Array(7);132 var dCalDate = new Date(iYear, iMonth - 1, 1);133 var iDayOfFirst = dCalDate.getDay();134 var iDaysInMonth = calUtil.getDaysInmonth(iMonth,iYear);135 var iVarDate = 1;136 var d,w;137 aMonth[0][0] = "日";138 aMonth[0][1] = "一";139 aMonth[0][2] = "二";140 aMonth[0][3] = "三";141 aMonth[0][4] = "四";142 aMonth[0][5] = "五";143 aMonth[0][6] = "六";144 for (d = iDayOfFirst; d < 7; d++) {145 aMonth[1][d] =iVarDate;146 iVarDate++;147 }148 for (w = 2; w < 7; w++) {149 for (d = 0; d < 7; d++) {150 if (iVarDate <=iDaysInMonth) {151 aMonth[w][d] =iVarDate;152 iVarDate++;153 }154 }155 }156 returnaMonth;157 },
158 ifHasSigned : function(signList,day){159 var signed = false;160 $.each(signList,function(index,item){161 if(item.signDay ==day) {162 signed = true;163 return false;164 }165 });166 returnsigned ;167 },
168 drawCal : function(iYear, iMonth ,signList) {169 var myMonth = calUtil.bulidCal(iYear,iMonth);170 var htmls = new Array();171 htmls.push("
175 htmls.push("
192 var ifHasSigned = calUtil.ifHasSigned(signList,myMonth[w][d]);193 console.log("001:"+ifHasSigned);194 if(ifHasSigned && typeof(myMonth[w][d]) != 'undefined'){195 htmls.push("