求助,使用popcalendar.js 日历时候提示出现&quot 转译回来;缺少对象“

js缺少对象是怎么回事?在asp.net中的textbox中点击显示日历控件,点击日历会将选中的日期填入textbox_百度知道[转载]js日历&导入外部javascript&jsp页面引用JavaScript
实现了,点击下出现个日历,让我们来选择时间,就不用我们输入了。
输入的时候,还都要按照规定的格式,既不方便也容易出错。
1。获得外部的日历 calendar.js
2。引用外部js
3。调用外部js
calendar.js
var gdCtrl = new Object();
var goSelectTag = new Array();
var gcGray = "#808080";
var gcToggle = "#ffff00";
var gcBG = "#cccccc";
var gdCurDate =
new Date();
var giYear = gdCurDate.getFullYear();
var giMonth = gdCurDate.getMonth()+1;
var giDay = gdCurDate.getDate();
//****************************************************************************
// Param: popCtrl is the widget beyond which you want this calendar
dateCtrl is the widget into which you want to put the selected
// i.e.: &input type="text" name="dc"
style="text-align:center" readonly&
// &INPUT type="button" value="V"
onclick="fPopCalendar(dc,dc);return false"&
//****************************************************************************
function fPopCalendar(popCtrl, dateCtrl)
event.cancelBubble=
gdCtrl = dateC
fSetYearMon(giYear, giMonth);
var point = fGetXY(popCtrl);
with (VicPopCal.style)
&& left = point.x;
point.y+popCtrl.offsetHeight+1;
&& width =
VicPopCal.offsetW
&& height =
VicPopCal.offsetH
&& fToggleTags(point);
&& visibility = 'visible';
VicPopCal.focus();
fSetDate(iYear, iMonth, iDay)
if (iMonth&10) iMonth="0"+iM
if (iDay.length&10) iDay="0"+iD
gdCtrl.value = iYear+"-"+iMonth+"-"+iD //Here, you could modify
the locale as you need !!!!
fHideCalendar();
fHideCalendar()
VicPopCal.style.visibility = "hidden";
for (i in goSelectTag)
goSelectTag[i].style.visibility = "visible";
goSelectTag.length = 0;
fSetSelected(aCell)
var iOffset = 0;
var iYear = parseInt(tbSelYear.value);
var iMonth = parseInt(tbSelMonth.value);
aCell.bgColor =
with (aCell.children["cellText"])
&& var iDay =
parseInt(innerText);
&& if (color==gcGray)
&&& iOffset =
(Victor&10)?-1:1;
&& iMonth += iO
(iMonth&1)
&&& iMonth =
&& else if
(iMonth&12)
&&& iMonth =
fSetDate(iYear, iMonth, iDay);
Point(iX, iY)
this.x = iX;
this.y = iY;
fBuildCal(iYear, iMonth)
var aMonth=new Array();
for(i=1;i&7;i++)
&& aMonth[i]=new Array(i);
var dCalDate=new
Date(iYear, iMonth-1, 1);
var iDayOfFirst=dCalDate.getDay();
var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
var iOffsetLast=new Date(iYear, iMonth-1,
0).getDate()-iDayOfFirst+1;
var iDate = 1;
var iNext = 1;
for (d = 0; d
&& aMonth[1][d] =
(d&iDayOfFirst)?-(iOffsetLast+d):iDate++;
for (w = 2; w & 7; w++)
&& for (d = 0; d &
&&& aMonth[w][d]
= (iDate&=iDaysInMonth)?iDate++:-(iNext++);
fDrawCal(iYear, iMonth, iCellHeight, iDateTextSize)
var WeekDay = new Array("日","一","二","三","四","五","六");
var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"'
valign='middle' align='center' height='"+iCellHeight+"'
style='font:bold "+iDateTextSize+" 宋体;";
(document)
write("&tr&");
&& for(i=0; i&7;
write("&td "+styleTD+"color:#990099'
&" + WeekDay[i] +
write("&/tr&");
for (w = 1; w
write("&tr&");
&&& for (d = 0;
d & 7; d++)
write("&td id=calCell "+styleTD+"cursor:'
onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG'
onclick='fSetSelected(this)'&");
write("&font id=cellText Victor='Liming
&/font&");
write("&/td&")
write("&/tr&");
fUpdateCal(iYear, iMonth)
myMonth = fBuildCal(iYear, iMonth);
var i = 0;
for (w = 0; w & 6; w++)
&& for (d = 0; d &
(cellText[(7*w)+d])
Victor = i++;
if (myMonth[w+1][d]&0) {
color = gcG
innerText = -myMonth[w+1][d];
color = ((d==0)||(d==6))?"red":"black";
innerText = myMonth[w+1][d];
fSetYearMon(iYear, iMon)
tbSelMonth.options[iMon-1].selected =
for (i = 0; i & tbSelYear. i++)
&& if (tbSelYear.options[i].value
tbSelYear.options[i].selected =
fUpdateCal(iYear, iMon);
fPrevMonth()
var iMon = tbSelMonth.
var iYear = tbSelYear.
(--iMon&1)
&& iMon = 12;
&& iYear--;
fSetYearMon(iYear, iMon);
fNextMonth()
var iMon = tbSelMonth.
var iYear = tbSelYear.
(++iMon&12)
&& iMon = 1;
&& iYear++;
fSetYearMon(iYear, iMon);
fToggleTags()
with (document.all.tags("SELECT"))
&& for (i=0;
((item(i).Victor!="Won")&&fTagInBound(item(i)))
item(i).style.visibility = "hidden";
goSelectTag[goSelectTag.length] = item(i);
fTagInBound(aTag)
with (VicPopCal.style)
&& var l = parseInt(left);
&& var t = parseInt(top);
&& var r =
l+parseInt(width);
&& var b =
t+parseInt(height);
&& var ptLT = fGetXY(aTag);
!((ptLT.x&r)||(ptLT.x+aTag.offsetWidth&l)||(ptLT.y&b)||(ptLT.y+aTag.offsetHeight&t));
fGetXY(aTag)
var oTmp = aT
var pt = new Point(0,0);
&& pt.x += oTmp.offsetL
&& pt.y += oTmp.offsetT
oTmp.offsetP
} while(oTmp.tagName!="BODY");
var gMonths = new
Array("&一月","&二月","&三月","&四月","&五月","&六月","&七月","&八月","&九月","&十月","十一月","十二月");
(document)
write("&Div id='VicPopCal'
onclick='event.cancelBubble=true'
style='POSITION:visibility:border:2px
width:10;z-index:100;'&");
write("&table border='0'
bgcolor='#6699cc'&");
write("&TR&");
write("&td valign='middle'
align='center'&&input type='button'
name='PrevMonth' value='&'
style='height:20;width:20;FONT:bold'
onClick='fPrevMonth()'&");
write("&&SELECT
name='tbSelYear' onChange='fUpdateCal(tbSelYear.value,
tbSelMonth.value)' Victor='Won'&");
for(i=1930;i&2015;i++)
&& write("&OPTION
value='"+i+"'&"+i+"年&/OPTION&");
write("&/SELECT&");
write("&&select
name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value,
tbSelMonth.value)' Victor='Won'&");
for (i=0; i&12; i++)
&& write("&option
value='"+(i+1)+"'&"+gMonths[i]+"&/option&");
write("&/SELECT&");
write("&&input type='button'
name='PrevMonth' value='&'
style='height:20;width:20;FONT:bold'
onclick='fNextMonth()'&");
write("&/td&");
write("&/TR&&TR&");
write("&td align='center'&");
write("&DIV
style='background-color:teal'&&table
width='100%' border='0' cellpadding='2'&");
fDrawCal(giYear, giMonth, 12, 12);
write("&/table&&/DIV&");
write("&/td&");
write("&/TR&&TR&&TD
align='center'&");
write("&B style='cursor:font:bold 16 宋体'
onclick='fSetDate(giYear,giMonth,giDay)'
onMouseOver='this.style.color=gcToggle'
onMouseOut='this.style.color=0'&今天:"+giYear+"年"+giMonth+"月"+giDay+"日&/B&");
write("&/TD&&/TR&");
write("&/TABLE&&/Div&");
write("&SCRIPT event=onclick()
for=document&fHideCalendar()&/SCRIPT&");
导入外部js(我放在了head标记中):
&script language="JavaScript"
src="/include/js/calendar.js"
type="text/javascript"&&/script&
&input type="text" name="enddate"
onblur="if(strDateTime(value))alert('请输入正确的日期')"
&a href="javascript: void(0);"
onclick="fPopCalendar(enddate,enddate);return
false"&&img
src="/include/js/calendar.gif" name="imgCalendar" width="34"
height="21" border="0" alt=""
align="absmiddle"&&/a&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。js日历脚本_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
js日历脚本
上传于||暂无简介
大小:25.11KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢javascript 日历提醒系统( 兼容所有浏览器 )
字体:[ ] 类型:转载 时间:
日历提醒插件(纯 javascript + css 打造,不含各类添加剂)
代码比较精简,数据可以从数据库中读取。
功能介绍: 1.正常的日历功能。 2.等等等 3.接收 数组 例如: 代码如下:new Calendar("id").show( { "": "今天干了嘛嘛。。。", "2009320": "今天干了嘛嘛。。。" } ); 日历提示样式分为3类。 a. 当日 b.当年当月当日提示样式 c.当月当日提示样式 鼠标覆盖在有提示的日期上自动出现提示内容 4.。。。。。 主要分为2种用处。 1.提供一个 div 或其他 element 将该容器的 id 传给 Calendar。方法名为: show() 例: var cr = Calendar("div1"); cr.show( /*data - 该数组为可选项,如果传则有提示功能*/ ); 2.提供一个 input[type='text'] 的元素 将该元素的 id 传给 Calendar。方法名为: pop() 例: var cr = Calendar("input2"); cr.pop(); 其他的就不多说了。觉得好的话,就支持下。呵呵。 有什么问题或好的想法,请告诉我。谢谢 详细的用法和例子在压缩包里有。 演示地址 打包下载地址
代码如下:/* * Calendar * Language 0: Chinese, 1: English * 1.Put calendar into the element html use 'show()' * 2.Pop-up calendar use 'pop()' */ var Calendar = function( instanceId, language, startYear, endYear ){ &&&&if( typeof instanceId == "string" ){ &&&&&&&&this.Date &&&&= new Date(); &&&&&&&&this.Year &&&&= this.Date.getFullYear(); &&&&&&&&this.Month &&&&= this.Date.getMonth(); &&&&&&&&this.Week&&&&= this.Date.getDay(); &&&&&&&&this.Today&&&&= this.Date.getDate(); &&&&&&&&this.InstanceId = instanceId; &&&&&&&&this.Language&&&&= language &&&&|| 1; &&&&&&&&this.StartYear&&&&= startYear || this.Year - 5; &&&&&&&&this.EndYear&&&&= endYear &&&&|| this.Year + 1; &&&&&&&&// If instance is input[type='text'] object &&&&&&&&this.popContainer_id = 'popCalendarContainer'; &&&&&&&&// Message store &&&&&&&&this.msgStore = []; &&&&&&&&this.caleContainer_id = 'calendarContainer'; &&&&&&&&this.caleTop = { &&&&&&&&&&&&today_view_id:&&&&&&&&'calendarTodayView', &&&&&&&&&&&&week_view_id:&&&&&&&&'calendarWeekView', &&&&&&&&&&&&lq_year_id:&&&&&&&&&&&&'linkQuickYear', &&&&&&&&&&&&lq_month_id:&&&&&&&&'linkQuickMonth', &&&&&&&&&&&&sq_year_id:&&&&&&&&&&&&'selectQuickYear', &&&&&&&&&&&&sq_month_id:&&&&&&&&'selectQuickMonth', &&&&&&&&&&&&close_id:&&&&&&&&&&&&'calendarClose', &&&&&&&&&&&&prev_month_id:&&&&&&&&'toPrevMonth', &&&&&&&&&&&&back_today_id:&&&&&&&&'backToday', &&&&&&&&&&&&next_month_id:&&&&&&&&'toNextMonth' &&&&&&&&} &&&&&&&&this.daysContainer_id = 'calendarDaysContainer'; &&&&&&&&this.msgContainer_id = 'calendarTipsContainer'; &&&&&&&&this.curDayClass = &&&&&&&&'calendarCurrentDay'; &&&&&&&&this.tipDayClass =&&&&&&&&'calendarTipDay'; &&&&&&&&this.oldTipDayClass =&&&&'calendarOldTipDay'; &&&&} }; /* Calendar language */ Calendar.lang = { weeks: &&&&[ &&&&&&&&&&&&&&&&["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], &&&&&&&&&&&&&&&&["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] &&&&&&&&&&&&], weeksMenu:[ &&&& &&&&&&&&&&&&["日","一","二","三","四","五","六"], &&&& &&&&&&&&["SUN","MON","TUR","WED","THU","FRI","SAT"] &&&&] }; /* Create calendar element */ Calendar.prototype._getViewElement = function(){ &&&&// Create page html element &&&&var caleElem = ""; &&&&&&&&// Create Start &&&&&&&&caleElem+= '&div id='+this.caleContainer_id+'&'; &&&&&&&&// &Top& &&&&&&&&caleElem+= '&div id="calendarTopContainer"&&table cellpadding="0" cellspacing="0"&&tr&'; &&&&&&&&// Top day view &&&&&&&&caleElem+= '&td id='+this.caleTop.today_view_id+'&&/td&'; &&&&&&&&// Link or select control &&&&&&&&caleElem+= '&td&'; &&&&&&&&caleElem+= '&div id='+this.caleTop.week_view_id+'&&/div&'; &&&&&&&&caleElem+= '&table id="calendarYearMonthContainer" cellpadding="0" cellspacing="0"&'; &&&&&&&&caleElem+= '&tr&'; &&&&&&&&caleElem+= '&td&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.lq_year_id+' href="javascript:void(0);"&&/a&'; &&&&&&&&caleElem+= '&select id='+this.caleTop.sq_year_id+'&&/select&'; &&&&&&&&caleElem+= '&/td&'; &&&&&&&&caleElem+= '&td&.&/td&'; &&&&&&&&caleElem+= '&td&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.lq_month_id+' href="javascript:void(0);"&&/a&'; &&&&&&&&caleElem+= '&select id='+this.caleTop.sq_month_id+'&&/select&'; &&&&&&&&caleElem+= '&/td&'; &&&&&&&&caleElem+= '&/tr&'; &&&&&&&&caleElem+= '&/table&'; &&&&&&&&caleElem+= '&/td&'; &&&&&&&&// Quick control &&&&&&&&caleElem+= '&td&'; &&&&&&&&caleElem+= '&div id="calendarCloseContainer"&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.close_id+' href="javascript:void(0);"&x&/a&'; &&&&&&&&caleElem+= '&/div&'; &&&&&&&&caleElem+= '&div id="calendarQuickContainer"&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.prev_month_id+' href="javascript:void(0);"&&&/a&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.back_today_id+' href="javascript:void(0);"&&&/a&'; &&&&&&&&caleElem+= '&a id='+this.caleTop.next_month_id+' href="javascript:void(0);"&&&/a&'; &&&&&&&&caleElem+= '&/div&'; &&&&&&&&caleElem+= '&/td&'; &&&&&&&&caleElem+= '&/tr&&/table cellpadding="0" cellspacing="0"&&/div&'; &&&&&&&&// &/Top& &&&&&&&&// &Calendar View& &&&&&&&&caleElem+= '&div id="calendarMainContainer"&'; &&&&&&&&// Week menu &&&&&&&&caleElem+= '&div id="calendarWeeksContainer"&'; &&&&&&&&for(var i = 0; i & 7; i ++){ &&&&&&&&caleElem+= '&span&'+Calendar.lang["weeksMenu"][this.Language][i]+'&/span&'; &&&&&&&&} &&&&&&&&caleElem+= '&/div&'; &&&&&&&&// Days view &&&&&&&&caleElem+= '&table id='+this.daysContainer_id+' cellpadding="0" cellspacing="0"&'; &&&&&&&&for(var tr = 0; tr & 6; tr ++){ &&&&&&&&caleElem+= '&tr&'; &&&&&&&&for(var td = 0; td & 7; td ++){ &&&&&&&&caleElem+= '&td&&span&&/span&&/td&'; &&&&&&&&} &&&&&&&&caleElem+= '&/tr&'; &&&&&&&&} &&&&&&&&caleElem+= '&/table&'; &&&&&&&&caleElem+= '&/div&'; &&&&&&&&// &/Calendar View& &&&&&&&&caleElem+= '&/div&'; &&&&&&&&// &Calendar msg& &&&&&&&&caleElem+= '&div id='+this.msgContainer_id+'&&/div&'; &&&&&&&&// &/Calendar msg& &&&&&&&&// Create End &&&&return caleE }; /* Get Month Data */ Calendar.prototype._getMonthViewArray = function( year, month ){ &&&&var monthArray = []; &&&&// From the beginning day of the week &&&&var beginDayOfWeek = new Date( year, month, 1).getDay(); &&&&// This month total days &&&&var daysOfMonth = new Date( year, month + 1, 0).getDate(); &&&&// 42: 7*6 matrix &&&&for( var i = 0; i & 42; i ++ ) &&&& monthArray[i] = "&"; &&&&for( var j = 0; j & daysOfM j ++ ) &&&&&&&&monthArray[j + beginDayOfWeek] = j + 1 ; &&&&return monthA }; /* Search the index of option in the select */ Calendar.prototype._getOptionIndex = function( selectObject, value ){ &&&&for( var j = 0; j & selectObject.options. j ++ ){ &&&&&&&&if( value == selectObject.options[j].value ) &&&&&&&&&&&& &&&&} }; /* Bind year data into 'Year select' */ Calendar.prototype._bindYearIntoSelect = function(){ &&&&var oYear = this.find( this.caleTop.sq_year_id ); &&&&var oYearLen = 0; &&&&for( var i = this.StartY i &= this.EndY i ++, oYearLen ++ ) &&&&&&&&oYear.options[oYearLen] = new Option( i , i ); }; /* Bind Month data into 'Month select' */ Calendar.prototype._bindMonthIntoSelect = function(){ &&&&var oMonth = this.find( this.caleTop.sq_month_id ); &&&&var oMonthLen = 0; &&&&for( var i = 0; i & 12; i ++, oMonthLen ++ ) &&&&&&&&oMonth.options[oMonthLen] = new Option( i + 1 , i + 1 ); }; /* Bind data */ Calendar.prototype._bindAllData = function( curYear, curMonth ){ &&&&var cr = &&&&// Bind default Data into 'select:Year' &&&&this._bindYearIntoSelect(); &&&&// Bind default Data into 'select:Month' &&&&this._bindMonthIntoSelect(); &&&&// Change the 'select:Year' and 'select:Month' value &&&&this.changeSelectValue( curYear, curMonth ); &&&&// Bind default data into 'current day view and current week view' &&&&this.find( this.caleTop.week_view_id ).innerHTML = Calendar.lang['weeks'][this.Language][this.Week]; &&&&this.find( this.caleTop.today_view_id ).innerHTML = this.T &&&&// Get days and bind into 'CalendarMain' &&&&// Add current day class and mouse event &&&&var daysOfMonthArray = this._getMonthViewArray( curYear, curMonth ); &&&&var spans = this.find( this.daysContainer_id, "span" ); &&&&var curYMD = this.Year + "" + ( this.Month + 1 ) + "" + this.T &&&&var selectYear = this.find( this.caleTop.sq_year_id ). &&&&var selectMonth = this.find( this.caleTop.sq_month_id ). &&&&for( var i = 0; i & spans. i ++ ){ &&&&&&&&spans[i].innerHTML = daysOfMonthArray[i]; &&&&&&&&var selectYMD = selectYear + "" + selectMonth + "" + spans[i].innerHTML; &&&&&&&&if( curYMD == selectYMD ) &&&&&&&&&&&&spans[i].className = this.curDayC &&&&&&&&else &&&&&&&&&&&&spans[i].className = ""; &&&&} &&&&// If not some days has pop message &&&&if( this.msgStore != "" ) &&&&&&&&this._initPopMsg( this.msgStore ); } /* Bind event */ Calendar.prototype._bindAllEvent = function(){ &&&&var cr = &&&&// 'toPrevMonth, toNextMonth, backToday, today view' event &&&&this.find( this.caleTop.prev_month_id ).onclick = function(){ cr.goPrevOrNextMonth(this); }; &&&&this.find( this.caleTop.next_month_id ).onclick = function(){ cr.goPrevOrNextMonth(this); }; &&&&this.find( this.caleTop.back_today_id ).onclick&&&&= function(){ cr.backToday(); }; &&&&this.find( this.caleTop.today_view_id ).onclick = function(){ cr.backToday(); }; &&&&// 'year and month select' onchange event &&&&this.find( this.caleTop.sq_year_id ).onchange = function(){ cr.updateSelect(); }; &&&&this.find( this.caleTop.sq_month_id ).onchange&&&&= function(){ cr.updateSelect(); }; &&&&// Quick link event &&&&this.find( this.caleTop.lq_year_id ).onclick = function(){ &&&&&&&&cr.showHide( cr.caleTop.lq_year_id, "none" ); &&&&&&&&cr.showHide( cr.caleTop.sq_year_id, "block" ); &&&&}; &&&&this.find( this.caleTop.lq_month_id ).onclick = function(){ &&&&&&&&cr.showHide( cr.caleTop.lq_month_id, "none" ); &&&&&&&&cr.showHide( cr.caleTop.sq_month_id, "block" ); &&&&}; &&&&// Remove the link dotted line &&&&var oLink = this.find( this.caleContainer_id, "a" ) &&&&for( var i = 0; i & oLink. i ++ ){ &&&&&&&&oLink[i].onfocus = function(){ this.blur(); } &&&&} } /* Bind calendar for calendar view */ Calendar.prototype._initCalendar = function(){ &&&&this._bindAllEvent(); &&&&this._bindAllData( this.Year, this.Month ); }; /* Change the quick select value */ Calendar.prototype.changeSelectValue = function( year, month ){ &&&&var ymArray = [], selectArray = [], linkArray = []; &&&&// Store the 'year' and 'month' to Array &&&&ymArray[0] = ymArray[1] = month + 1; &&&&// Store the 'selectYear_id' and 'selectMonth_id' to Array &&&&selectArray[0] = this.caleTop.sq_year_ selectArray[1] = this.caleTop.sq_month_ &&&&linkArray[0] = this.caleTop.lq_year_ linkArray[1] = this.caleTop.lq_month_ &&&&for( var i = 0; i & selectArray. i ++ ){ &&&&&&&&var selectObject = this.find( selectArray[i] ); &&&&&&&&// Get the return index &&&&&&&&var index = this._getOptionIndex( selectObject, ymArray[i] ); &&&&&&&&// Reset the 'year', 'month' select and link value &&&&&&&&selectObject.options[index].selected = "selected"; &&&&&&&&this.find( linkArray[i] ).innerHTML = selectObject. &&&&} &&&&this.resetLinkSelect(); }; /* Search next or previons month */ Calendar.prototype.goPrevOrNextMonth = function( obj ){ &&&&var curMonthSelect = this.find( this.caleTop.sq_month_id ); &&&&var curMonth = parseInt( curMonthSelect.value ); &&&&var curYear = this.find( this.caleTop.sq_year_id ). &&&&// If 'next' get current month select + 1 &&&&// If 'prev' get current month select - 1 &&&&if( obj.id == this.caleTop.next_month_id ) &&&&&&&&curMonthSelect.value = curMonth + 1; &&&&else &&&&&&&&curMonthSelect.value = curMonth - 1; &&&&var getNowMonth = curMonthSelect.value - 1; &&&&if( getNowMonth == -1 && curMonth == 1) &&&&getNowMonth = 0; &&&&if( getNowMonth == -1 && curMonth == 12 ) &&&&getNowMonth = 11; &&&&this._bindAllData( curYear, getNowMonth ); }; /* If 'select:Year' and 'select:Month' change value update data */ Calendar.prototype.updateSelect = function(){ &&&&var yearSelectValue&&&& = this.find( this.caleTop.sq_year_id ). &&&&var monthSelectValue = this.find( this.caleTop.sq_month_id ). &&&&// Re-bind Panel Data &&&&this._bindAllData( yearSelectValue, monthSelectValue - 1 ); }; /* Back to taday: re-load '_bindAllData()' */ Calendar.prototype.backToday = function(){ &&&&this._bindAllData( this.Year, this.Month ); }; /* Find the instance object or children of instance object by Id */ Calendar.prototype.find = function( elemId, childTag ){ &&&&if( !childTag ) &&&&&&&&// Return: object &&&&&&&&return document.getElementById( elemId ); &&&&else &&&&&&&&// Return: object array &&&&&&&&return this.find( elemId ).getElementsByTagName( childTag ); }; /* Set element css */ Calendar.prototype.css = function( oId, selector ){ &&&&var o = this.find( oId ); &&&&selector['left']?o.style.left = selector['left']:""; &&&&selector['top']?o.style.top = selector['top']:""; &&&&selector['position']? o.style.position = selector['position']:""; } /* Check calendar show or hidden */ Calendar.prototype.showHide = function( objectId, dis ){ &&&&return this.find( objectId ).style.display = }; /* Init the top quick menu link and select */ Calendar.prototype.resetLinkSelect = function(){ &&&&this.showHide( this.caleTop.sq_year_id, "none" ); &&&&this.showHide( this.caleTop.sq_month_id, "none" ); &&&&this.showHide( this.caleTop.lq_year_id, "block" ); &&&&this.showHide( this.caleTop.lq_month_id, "block" ); }; /* Put this calendar into the html of instance */ Calendar.prototype.show = function( msgData ){ &&&&var obj = this.find( this.InstanceId ); &&&&if( obj ){ &&&&&&&&obj.innerHTML = this._getViewElement(); &&&&&&&&// Init calendar event and data &&&&&&&&this._initCalendar(); &&&&&&&&// This function don't have 'close' &&&&&&&&this.showHide( this.caleTop.close_id, "none" ); &&&&&&&&if( typeof msgData == 'object'){ &&&&&&&&&&&&this.msgStore = msgD &&&&&&&&&&&&this._initPopMsg( this.msgStore ); &&&&&&&&} &&&&} }; /* Init pop message */ Calendar.prototype._initPopMsg = function(){ &&&&var cr = &&&&var selectYear = this.find( this.caleTop.sq_year_id ). &&&&var selectMonth = this.find( this.caleTop.sq_month_id ). &&&&var daysOfMonthArray = this._getMonthViewArray( selectYear, selectMonth ); &&&&var spans = this.find( this.daysContainer_id, "span" ); &&&&for( var key in this.msgStore ){ &&&&&&&&var keyMD = key.substring( 4 ); &&&&&&&&var keyY = key.substring( 0, 4 ); &&&&&&&&for( var i = 0; i & spans. i ++){ &&&&&&&&&&&&var getMD = selectMonth + "" + spans[i].innerHTML; &&&&&&&&&&&&if( getMD == keyMD ){ &&&&&&&&&&&&&&&&if( selectYear == keyY ) &&&&&&&&&&&&&&&&&&&&spans[i].className = this.tipDayClass +" "+ keyY; &&&&&&&&&&&&&&&&else &&&&&&&&&&&&&&&&&&&&spans[i].className = this.oldTipDayClass +" "+ keyY;&&&& &&&&&&&&&&&&&&&&spans[i].onmouseover = function(){ &&&&&&&&&&&&&&&&&&&&var hoverDate = this.className.split(" ")[1] + "" + selectMonth + "" + this.innerHTML; &&&&&&&&&&&&&&&&&&&&var y = this.className.split(" ")[1], &&&&&&&&&&&&&&&&&&&&&&&&m = selectMonth, &&&&&&&&&&&&&&&&&&&&&&&&d = this.innerHTML; &&&&&&&&&&&&&&&&&&&&cr.find( cr.msgContainer_id ).innerHTML = cr._getMsgHtml( y, m, d ); &&&&&&&&&&&&&&&&&&&&cr.showHide( cr.msgContainer_id, "block" ); &&&&&&&&&&&&&&&&} &&&&&&&&&&&&} &&&&&&&&} &&&&} &&&&cr.find( cr.caleContainer_id ).onmouseout = function(){ &&&&&&&&cr.showHide( cr.msgContainer_id, "none" ); &&&&} }; /* Get message */ Calendar.prototype._getMsgHtml =function( y, m, d ){ &&&&var date = y + m + &&&&var showDate = y + "-" + m + "-" + &&&&var msgHtml = '&div&'+showDate+':&/div&&div&'+ this.msgStore[date] +'&/div&'; &&&&return msgH } /* Pop-up the calendar */ Calendar.prototype.pop = function(){ &&&&var cr = &&&&var obj&&&&= this.find( this.InstanceId ); &&&&if( obj ){ &&&&&&&&// Instance object click then pop-up the calendar &&&&&&&&obj.onclick = function( e ){ &&&&&&&&&&&&var e = window.event || &&&&&&&&&&&&var x = e.x || e.pageX, &&&&&&&&&&&&&&&&y = e.y || e.pageY; &&&&&&&&&&&&if( !cr.find( cr.popContainer_id ) ){ &&&&&&&&&&&&&&&&// Create the pop-up div &&&&&&&&&&&&&&&&var oDiv = document.createElement("div"); &&&&&&&&&&&&&&&&oDiv.id = cr.popContainer_ &&&&&&&&&&&&&&&&document.body.appendChild( oDiv ); &&&&&&&&&&&&}else{ &&&&&&&&&&&&&&&&cr.showHide( cr.popContainer_id, "block" ); &&&&&&&&&&&&} &&&&&&&&&&&&cr.find( cr.popContainer_id ).innerHTML = cr._getViewElement(); &&&&&&&&&&&&// Init calendar event and data &&&&&&&&&&&&cr._initCalendar(); &&&&&&&&&&&&// Set days click event &&&&&&&&&&&&cr.popDaysClickEvent( obj ); &&&&&&&&&&&&// Set position &&&&&&&&&&&&cr.css( cr.popContainer_id, {position: "absolute", left: x + "px", top: y + "px"}); &&&&&&&&&&&&// Close panel event &&&&&&&&&&&&cr.find( cr.caleTop.close_id ).onclick = function(){ cr.showHide( cr.popContainer_id, "none" ); }; &&&&&&&&}; &&&&} }; /* Click the pop calendar days event [For INPUT] */ Calendar.prototype.popDaysClickEvent = function( obj ){ &&&&var cr = &&&&var spans = cr.find( cr.daysContainer_id, "span" ); &&&&for( var i = 0; i & spans. i ++ ) &&&&&&&&spans[i].onclick = function(){ &&&&&&&&&&&&if( this.innerHTML != "&" ){ &&&&&&&&&&&&&&&&var getYear&&&& = cr.find( cr.caleTop.sq_year_id ). &&&&&&&&&&&&&&&&var getMonth = cr.find( cr.caleTop.sq_month_id ). &&&&&&&&&&&&&&&&obj.value = getYear +"-"+ getMonth +"-" + this.innerHTML; &&&&&&&&&&&&&&&&cr.showHide( cr.popContainer_id, "none" ); &&&&&&&&&&&&} &&&&&&&&} };
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 quot 转译回来 的文章

 

随机推荐