急求旅游网日历插件Calendar.js使用

JavaScript033

急求旅游网日历插件Calendar.js使用,第1张

以下都是从你给的参考的网站剥离出

<div class="calendar">

<div class="outer clearfix" id="calendarcontainer">//日历控件容器

</div>

</div>

涉及到的js文件:

1.Calendar.js 地址 :http://bj.tourex.net.cn/js/Calendar.js

2.jquery.js(这个要打开看看,里面的内容并不是jQuery) 地址:http://bj.tourex.net.cn/sys/js/jquery.js

3.jquery.validate.check.js 地址:http://bj.tourex.net.cn/sys/js/jquery.validate.check.js

4.line.js(日历月显示调用函数就在这个里面)地址:http://bj.tourex.net.cn/js/line.js

5.myfocus-2.0.4.min.js 地址:http://bj.tourex.net.cn/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=0i<=fi++){d1=new Date(y,m-1+i)y=d1.getFullYear()m=d1.getMonth() + 1tmp += '<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 = 1j <= 6j++) {tmp += '<tr>'for (var k = 1k <= 7k++) {i2 = (j - 1) * 7 + k - i1if (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=0for(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=ij.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")})}}

这样可以么?

1、国产jQuery UI框架 (jUI) DWZ

2、HTML5 开发框架 jQuery Mobile

3、jQuery File Upload

4、jQuery图表插件 jQchart

5、jQuery表单插件 jQuery.form

6、jQuery的界面插件 Ninja UI

7、jQuery弹出窗口插件 FancyBox

8、Web文件上传模块 Plupload

9、日期选择控件 jQuery DateInput

10、jQuery双日历插件 jQuery Datepicker

11、jQuery的UI框架 Chico UI

12、书本翻页效果 Turn.js

13、jQuery下拉框插件 FlexBox

14、jQuery异步上传插件

还有好多。。。大概我列的只是其中冰山一角,还有90%的没列,希望采纳

1.写一个获取当前时间的脚本

2.写一个获取事件源绝对坐标的脚本

3.写一个日历生成脚本,根据年(闰年)月(大小月)周(周一到周日)生成日历

4.当事件源(一般是文本框)获得焦点的时候,触发获取绝对坐标的事件,然后生成当前月的日历,将此日历的坐标用脚本移动到文本框下方

5.生成日历的时候,给所有日添加返回事件,把当前选中的年月日反馈

6.用脚本把反馈回来的日期信息,写入事件源控件

7.网上日历控件一大堆,最好别自己写,很容易蛋疼的