急求旅游网日历插件Calendar.js使用
以下都是从你给的参考的网站剥离出
<div class="calendar">
<div class="outer clearfix" id="calendarcontainer"> //日历控件容器
</div>
</div>
涉及到的js文件:
1.Calendar.js 地址 :/js/Calendar.js
2.jquery.js(这个要打开看看,里面的内容并不是jQuery) 地址:/sys/js/jquery.js
3.jquery.validate.check.js 地址:/sys/js/jquery.validate.check.js
4.line.js(日历月显示调用函数就在这个里面) 地址:/js/line.js
5.myfocus-2.0.4.min.js 地址:/js/plugin/myfocus-2.0.4.min.js
核心的调用代码如下(该函数可能还需要和另外的js配合使用。):
CreateCalendar(c, y, m, a, b,d, f,fu)
参数说明: c:容器,
y:年,
m:月,
a:出发时间XML,
b:参团人群,
d:是否天天发团,
f:是否显示双日历,
fu:回调
使用例子:
1. CalendarPage('calendarcontainer',2014,4); //显示4、5月份日历
2.CalendarPage('calendarcontainer',2014,2); //显示2、3月份日历
function CreateCalendar(c, y, m, a, b,d, f,fu) {//c:容器,y:年,m:月,a:出发时间XML,b:参团人群,d:是否天天发团,f:是否显示双日历,fu:回调 LC[c] = [c, y, m, a, b, d,f, fu]; var today = new Date(Date.parse(webconfig('date').replace(/-/g, '/'))); today = new Date(today.getFullYear(),today.getMonth(),today.getDate()); if (y == 0 || m == 0) { y = today.getFullYear(); m = today.getMonth() + 1; };var dmin=Date.parse(a.first().attr('d').replace(/-/g, '/')),dmax =Date.parse(a.last().attr('d').replace(/-/g, '/')); var i1 = 0, i2 = 0, i3 = 0, d1 = new Date(dmin), d2; today = today.DateToParse(); if (Date.parse(d1.getFullYear() + '/' + (d1.getMonth() + 1) + '/1') > Date.parse(new Date(y,m-1,1))) { y = d1.getFullYear(); m = d1.getMonth() + 1; } $('#' + c).html('');//农历//var ca=new Calendar();tmp='';for(var i=0;i<=f;i++){d1=new Date(y,m-1+i);y=d1.getFullYear();m=d1.getMonth() + 1;tmp += '<table cellpadding="0">';tmp += '<tr class="month"><th colspan="7"><div class="clearfix"><div class="prevMonth">';if(i==0){i1=Date.parse(y + '/' + m + '/1');d1 = new Date(dmin);if(Date.parse(d1.getFullYear() + '/' + (d1.getMonth() + 1) + '/1')<i1){d1 = new Date(y,m-2-f,1);tmp += '<a class="prev" href="javascript:;" onclick="CalendarPage(\'' + c + '\',' + d1.getFullYear() + ',' + (d1.getMonth() + 1) + ');" title="上个月">?</a>';}else{tmp += '<a class="prev0" href="javascript:;" title="上个月">?</a>';}}tmp+='</div>';tmp += '<div class="dates"><em>' + y + '</em>年<em>' + m + '</em>月</div>';tmp+='<div class="nextMonth">';if(i==f){i1=Date.parse(y + '/' + m + '/1');d1 = new Date(dmax);i2=Date.parse(d1.getFullYear() + '/' + (d1.getMonth() + 1) + '/1');if(i2>i1){d1 = new Date(y,Date.parse(new Date(y,m+1,1))>i2?m-f:m,1);tmp += '<a class="next" href="javascript:;" onclick="CalendarPage(\'' + c + '\',' + d1.getFullYear() + ',' + (d1.getMonth() + 1) + ');" title="下个月">?</a>';}else{tmp += '<a class="next0" href="javascript:;" title="下个月">?</a>';}}tmp += '</div></div></th></tr>';tmp += ' <tr class="week">';tmp += ' <th class="weekEnd">星期日</th>';tmp += ' <th>星期一</th>';tmp += ' <th>星期二</th>';tmp += ' <th>星期三</th>';tmp += ' <th>星期四</th>';tmp += ' <th>星期五</th>';tmp += ' <th class="weekEnd">星期六</th>';tmp += ' </tr>';var maxdays = (new Date(Date.parse(new Date(y,m,1)) - 86400000)).getDate(); //当前月的天数d1 = new Date(y,m-1); //要显示的日期i1 = d1.getDay(); //这个月的第一天是星期几for (var j = 1; j <= 6; j++) {tmp += '<tr>';for (var k = 1; k <= 7; k++) {i2 = (j - 1) * 7 + k - i1;if (i2 < 1 || i2 > maxdays) {tmp += '<td></td>';} else {i3 = Date.parse(new Date(y,m-1,i2));d1=new Date(i3);//农历(ll的值为农历)/*var ll=ca.getlf(d1);if(ll==''){ll=ca.getsf(d1);if(ll==''){ll=ca.getst(d1);if(ll=='')ll=ca.getls(d1)[3];}}*/tmp+='<td'if (today == i3){tmp+=' class="cur"'};if (i3 < dmin || i3 > dmax) {tmp += '><p><em>' + i2 + '</em></td>';} else {tmp += ' week="' + (k - 1) + '" id="' + y + '-' + m + '-' + i2 + '"><p><em>' + i2 + '</em></p></td>';}}}tmp += '</tr>';}tmp += '</table>';} $('#' + c).append(tmp); var obj,crowdid=0;for(var i in currentLP.crowd){if(crowdid==0)crowdid=currentLP.crowd[i].id;}a.each(function(){obj=$('#'+$(this).attr('d'));var j={d:$(this).attr('d'),n:$(this).attr('n'),c:[]},k=0;$(this).children('c').each(function(i){if(crowdid==$(this).attr('i'))k=i;j.c.push({i:$(this).attr('i'),n:$(this).attr('n'),p:$(this).attr('p')});});obj.data('i',j).attr('v',1).append('<p><em class="money">'+(j.c[k].p==-1?'电询':'?'+j.c[k].p)+'</em></p><p>余位'+(j.n==-1||j.n>9?'><em class="money">9</em>':'<em class="money">'+j.n+'</em>')+'</p>');}); if ($.isFunction(fu)){$('#' + c +' td[v]').click(function (){ fu(this); }).hover( function () {$(this).addClass("hover"); }, function () {$(this).removeClass("hover"); });}}