项目实战——日历翻页获取数据render
var reg = /(([\,,,]*\d{4}-\d{2}-(\/*\d{2})+)+)\s*([\(|(]\S+[\)|)])*\s*((\/*\d{2}[:,:]\d{2})+)\s*([\(|(]\S+[\)|)])*/; function getData(date,channelId){ renderCalendar(); $.post( '/info/calendar/list/json', { 'date':date, 'channelId':channelId }, function(data){ if(data.code === 0 && data.hasOwnProperty('infos')){ orgData(data.infos,date); } },'json' ); }; function orgData(dataList,date){ var list = []; for(var i=0;i<dataList.length;i++){ var time = dataList[i].infoParamMap.ycsj.value; var regList = reg.exec(time); var regDate = regList[1].split(","); var regTime = regList[5].split("/"); for(var j=0;j<regDate.length;j++){ if(regDate[j].indexOf(date)>=0){ var dateList =regDate[j].substring(regDate[j].lastIndexOf('-')+1,regDate[j].length).split("/"); var foreDate = regDate[j].substring(0,regDate[j].lastIndexOf('-')+1); for(var k=0;k<dateList.length;k++){ var lastDate = foreDate + dateList[k]; for(var s =0;s<regTime.length;s++){ list.push({ 'title':dataList[i].title, 'date':lastDate, 'time':regTime[s], 'position':dataList[i].infoParamMap.dz.value, 'id':dataList[i].id }); } } } } } list.sort(_upSort); renderCalendarData(list); }; _upSort = function(a, b){//升序排序 if (a["date"] < b["date"]){ return -1; }else if (a["date"] == b["date"]){ if (a["time"]<b["time"]){ return -1; }else if (a["time"] == b["time"]){ return 0; }else{ return 1; } }else{ return 1; } }; function renderCalendar(){ var dayObj = getDaysInMonth(parseInt($("#year").text()),parseInt($("#day").text())); var dateStr = ''; var count = 1; $("#calHead").nextAll().remove(); for(var i=0;i<dayObj.line;i++){ dateStr +="<tr>"; for(var j=0;j<7;j++){ count++; if(count-dayObj.firstDay <= 0||count-dayObj.firstDay > dayObj.days){ dateStr +="<td valign='top'><h3></h3></td>"; }else{ dateStr +="<td valign='top'><h3>"+(count-dayObj.firstDay)+"</h3><div class='"+$("#year").text()+'-'+$("#day").text()+'-'+Int2Str(count-dayObj.firstDay)+"'></div></td>"; } } dateStr +="</tr>"; } $(dateStr).insertAfter("#calHead"); $("#calendarTable").find("td:nth-child(6),td:nth-child(7)").addClass("bgcolor"); } function renderCalendarData(list){ for(var k=0;k<list.length;k++){ var dzClass = list[k].position=="新清华学堂"?"qingHuaXueTang":list[k].position=="蒙民伟音乐厅"?"yinYueTing":list[k].position=="大礼堂"?"daLiTang":list[k].position=="蒙民伟楼学生活动中心"?"huoDongZHongXin":list[k].position=="新学堂实验剧场"?"shiYanJuCHang":""; $("."+list[k].date).append("<a class='"+dzClass+"' href='$base/info/pwzx_hdap/"+list[k].id+"'>"+list[k].title+"</a><span>"+list[k].time+"</span>"); } } function getDaysInMonth(year,month){ month = parseInt(month,10); //parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。 var temp = new Date(year,month,0); var firstDay = (temp.getDay()-temp.getDate()+1)%7+7; var line = Math.ceil((firstDay+temp.getDate()-1)/7); return {'days':temp.getDate(),'firstDay':firstDay,'line':line}; } function Int2Str(number){ return (parseInt(number).toString().length==1?'0':'')+number; }; function preMonth(){//上个月 var curMonth = parseInt($("#day").text()); var curYear = parseInt($("#year").text()); if(curMonth==1){ $("#day").text(12); $("#year").text(curYear-1); }else{ $("#day").text(Int2Str(curMonth-1)); } getData($("#year").text()+'-'+$("#day").text(),'153,154,155,156,159'); }; function nextMonth(){//下个月 var curMonth = parseInt($("#day").text()); var curYear = parseInt($("#year").text()); if(curMonth==12){ $("#day").text('01'); $("#year").text(curYear+1); }else{ $("#day").text(Int2Str(curMonth+1)); } getData($("#year").text()+'-'+$("#day").text(),'153,154,155,156,159'); }; $(function(){ var date = new Date(); $("#year").text(date.getFullYear()); $("#day").text(Int2Str(parseInt(date.getMonth())+1)); getData($("#year").text()+'-'+$("#day").text(),'153,154,155,156,159'); });
相关推荐
yangkang 2020-11-09
lbyd0 2020-11-17
sushuanglei 2020-11-12
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
lizhengjava 2020-11-13
星月情缘 2020-11-13
huangxiaoyun00 2020-11-13
luyong0 2020-11-08
腾讯soso团队 2020-11-06
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
gaobudong 2020-11-04
wwwjun 2020-11-02
gyunwh 2020-11-02
EchoYY 2020-10-31
dingyahui 2020-10-30