⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jscalendar.js

📁 通用权限管理平台
💻 JS
📖 第 1 页 / 共 2 页
字号:
<!--
var _cldTabIFrame = null;
var _cldTabIFrame2 = null;

var _cldTabFrm = null;
var _cldMonthMenuFrm = null;
var _curCldTabRltvObj = null;
var _bCanHide = true;
var _bHaveUpdated = false;
var _bHaveShown = false;

var _bHaveSelectNewValue = false;

var _dCurYear = null;
var _dCurMonth = null;
var _dCurDate = null;

var _curCldTabRltvObjValue = "";

/**
  * 在该日历控件中,我采用了给空间周围加上阴影层来增强控件的视觉感。
  * _nShadowLength 变量设定了阴影层的长度,默认值为 4;
  * 使用阴影层将相应的滞缓程序的运行速度,如果你想得到较快的运行速度,请将该值设为 0
  */
var _nShadowLength = 4;

/**
  * _sNeededFilePath 变量设定了JSCalendar控件所需的所有文件的位置
  * 当你将你的应用部署到应用服务器上后,你需要给改变量设定相应的值。
  * 例如:
  *		_sNeededFilePath = "/MyWebAPP/comm/js/JSCalendar/";
  *
  * 该变量的值必须正确设置,否则程序在运行中可能出现错误! 
  */
var _sNeededFilePath = "/37LiveMemberServer/JS/JSCalendar/";

/**
  * 定义所需图片
  * 
  */
var _imgReset1 = new Image();
	_imgReset1.src = _sNeededFilePath + "reset1.gif";
var _imgReset2 = new Image();
	_imgReset2.src = _sNeededFilePath + "reset2.gif";
var _imgBtnYear = new Image();
	_imgBtnYear.src = _sNeededFilePath + "btnYears.gif";
var _imgBgToday1 = new Image();
	_imgBgToday1.src = _sNeededFilePath + "bgToday1.gif";

var _monthDays = new Array(12);
    _monthDays[ 0] = 31;
    _monthDays[ 1] = 28;
    _monthDays[ 2] = 31;
    _monthDays[ 3] = 30;
    _monthDays[ 4] = 31;
    _monthDays[ 5] = 30;
    _monthDays[ 6] = 31;
    _monthDays[ 7] = 31;
    _monthDays[ 8] = 30;
    _monthDays[ 9] = 31;
    _monthDays[10] = 30;
    _monthDays[11] = 31;
var _weeks = new Array(7);    
	_weeks[0] = "Sun.";
	_weeks[1] = "Mon.";
	_weeks[2] = "Tue.";
	_weeks[3] = "Wed.";
	_weeks[4] = "Thu.";
	_weeks[5] = "Fri.";
	_weeks[6] = "Sat.";
var _months = new Array(12);
	_months[ 0] = "1st";
	_months[ 1] = "2nd";
	_months[ 2] = "3th";
	_months[ 3] = "4th";
	_months[ 4] = "5th";
	_months[ 5] = "6th";
	_months[ 6] = "7th";
	_months[ 7] = "8th";
	_months[ 8] = "9th";
	_months[ 9] = "10th";
	_months[10] = "11th";
	_months[11] = "12th";
	
var _dftD = new Date(); 
document.write("<IFRAME id=frm name=frm style='display:none'></IFRAME>");

function JSCalendar(rltvO, year, month, date){

	if(_bHaveUpdated && rltvO == _curCldTabRltvObj) return;
	if(rltvO.tagName != "INPUT"){alert("JSCalendar 1.0 alerts you:\n\n INPUT element(object) must be required!");return};
	rltvO.readOnly = true;
	rltvO.style.cursor = "default";
	rltvO.style.textAlign = "center";
	_curCldTabRltvObjValue = rltvO.value;
	_bHaveSelectNewValue = false;
	//------------------------------------------------------------------------------
	this.createCldTabFrm = createCldTabFrm;	
	this.fillCldTabFrm = fillCldTabFrm;
	this.placeCldTabFrm = placeCldTabFrm;
	//------------------------------------------------------------------------------
	
	this._rltvO = (rltvO == null ? document.body : rltvO);
	var _oldDate = rltvO.value;
	var _oldDateType = "From Input!";
	try{
		if(_oldDate == "") throw "";
		var d = _oldDate.split("-");
		//var _tmpDate = getValidDate(_oldDate);
		this._year = d[0];//_tmpDate.getFullYear();
		this._month = d[1] - 1;//_tmpDate.getMonth() - 1;
		this._date = d[2];//_tmpDate.getDate();
	}catch(e){
		_debug("Error was be catched:" + e.description);
		_oldDateType = "From default or current date!";
		this._year = (year == null ? _dftD.getFullYear() : year);
		this._month = (month == null ? _dftD.getMonth() : month - 1);;
		this._date = (date == null ? _dftD.getDate() : date);
	}
	//alert(this._year + "-" + (this._month + 1) + "-" + this._date );
	_dCurYear = this._year;
	_dCurMonth = this._month;
	_dCurDate = this._date;

	if(_cldTabIFrame == null)
		this.createCldTabFrm();
		
	//alert(_cldTabIFrame2)
	_cldTabIFrame2.style.display = "inline";
	
	_debug(_oldDateType + "[]" + this._year + "-" + (this._month + 1) + "-" + this._date);
	this.fillCldTabFrm(this._year, this._month, this._date);
	if(!_bHaveShown || rltvO != _curCldTabRltvObj) this.placeCldTabFrm();
	
	//_cldTabIFrame2.style.display = "inline";
	
	removeShadowDiv();
	MakeDivShadowEffect(_cldTabFrm, '#aaaaaa', _nShadowLength);
	_curCldTabRltvObj = this._rltvO;
	
	_bHaveUpdated = true;
	_bHaveShown = true;
}
function createCldTabFrm(){
	var _sz = "<HTML>"
			+ "<HEAD><link href='" +_sNeededFilePath + "JSCalendar.css' rel=stylesheet type='text/css'></HEAD>"
			+ "<BODY leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0 style='background-color:transparent;border:0px solid black;scroll:no'>"
			+ "</BODY></HTML>";
	_cldTabIFrame = frm;//document.all("frm");//document.createElement("IFRAME");
	_cldTabIFrame2 = document.all("frm");
	_cldTabIFrame2.style.position = "absolute";

	//_cldTabIFrame2.document.body.scroll = "no";
	_cldTabIFrame2.style.pixelWidth = /*_innerTabFrmRect.right - _innerTabFrmRect.left*/  375 + _nShadowLength;
	_cldTabIFrame2.style.pixelHeight = /*_innerTabFrmRect.bottom - _innerTabFrmRect.top*/ 165 + _nShadowLength;	
	
	_cldTabIFrame.document.open("text/html","replace");
	_cldTabIFrame.document.write(_sz);
	_cldTabIFrame.document.close();
	_cldTabFrm = _cldTabIFrame.document.createElement("TABLE");
	_cldTabFrm.id = "JACKSHANGJIELOVEFEIFEI"
	_cldTabFrm.style.position = "absolute";
	_cldTabFrm.className = "calendar";
	_cldTabFrm.border = 0;
	//_cldTabFrm.height = 165;
	_cldTabFrm.style.pixelWidth = 350;
	_cldTabFrm.cellSpacing = 1;
	_cldTabFrm.cellPadding = 1;
	_cldTabFrm.bgColor = "ffffff";
	_cldTabFrm.attachEvent("onmouseover", whenMouseOverCldTabFrm);
	_cldTabFrm.attachEvent("onmouseout", whenMouseOutCldTabFrm);
	// Create Calendar Control header
	var _TR = _cldTabFrm.insertRow();
	var _TD = _TR.insertCell();
	_TD.colSpan = 7;
	_TD.align = "center";
	_TD.innerHTML = "&nbsp;";//"<b>JS Calendar 1.0 by Joe</b>";		
	// Create main block
	for(var i = 0; i < 7; i++){
		_TR = _cldTabFrm.insertRow();
		for(var j = 0; j < 7; j++){
			_TD = _TR.insertCell();
			_TD.style.cursor = "default";
			_TD.align = "center";
			_TD.width = 50;
			//_TD.style.border = "1px solid black";
			_TD.innerHTML = "*";
			if(i != 0){
				_TD.style.cursor = "hand";
				_TD.attachEvent("onmouseover", whenMouseOverDateItem);
				_TD.attachEvent("onmouseout", whenMouseOutDateItem);
				_TD.attachEvent("onclick", whenClickDateItem);
			}	
			if(i == 0) _TD.innerHTML = "<b>" + _weeks[j] + "</b>";
			if(i == 0 && (j == 0 || j == 6)) _TD.className = "tdHoliday";
		}
	}
	// Create footer
	_TR = _cldTabFrm.insertRow(2);
	_TD = _TR.insertCell();
	_TD.colSpan = 7;
	_TD.height = 1;
	_TD.bgColor = "black";
	_TR = _cldTabFrm.insertRow();
	_TD = _TR.insertCell();
	_TD.colSpan = 7;
	_TD.innerHTML = "<table cellspacing=0 cellpadding=0 class=calendar style='border:0px solid;width:100%'>"
		+ "<tr><td title=   'Switch to TODAY.'style='cursor:hand'onclick=\"parent._bHaveUpdated=false;parent.setTargetFormaValue(" + _dftD.getFullYear() + "," + (_dftD.getMonth() + 1) + "," + _dftD.getDate() + ");parent.fillCldTabFrm(" + _dftD.getFullYear() + "," + _dftD.getMonth() + "," + _dftD.getDate() + ");\">"
		+ "<b>&nbsp;<img src='" + _imgBgToday1.src + "' width=30px>Today : " + _dftD.getFullYear() + "-" + (_dftD.getMonth() + 1) + "-" + _dftD.getDate()
		+ "</td>"
		+ "<td width=30px style='cursor:hand' onclick=parent.resetTargetValue() title='Reset the target value.'>"
		+ "<img src='" + _imgReset1.src + "' onmouseover=this.src='" + _imgReset2.src + "' onmouseout=this.src='" + _imgReset1.src + "'></td>"
		+ "<td align=right class=smallFont>JS Calendar 1.0 by Joe</td></tr></table>";
	
	_cldTabIFrame.document.body.insertBefore(_cldTabFrm);
}

function fillCldTabFrm(year, month, date){
	//return;
	var dCurDate = 0;
	var dNextMonthDate = 1;
	var iDateStartRow = 3;
	//var _d = new Date(this._year, this._month, 1);
	var _d = new Date(year, month, 1);
	//alert(year + "-" + month + "-" + date);
	var _day = _d.getDay();
	var _td = null;

	_dCurYear = year;
	_dCurMonth = month;
	_dCurDate = date;

	if (((_dCurYear % 4 == 0) && !(_dCurYear % 100 == 0))
		||(_dCurYear % 400 == 0)) _monthDays[1] = 29;
	else _monthDays[1] = 28;
			
	_cldTabFrm.rows(0).cells(0).innerHTML
	 = "<table bgcolor=420042 class=calendar style=\"color:white;font-weight:bolder;border:0px solid;width:100%;height:20px;\" cellspacing=0 cellpadding=0>"
		+ "<tr><td>"
		+ "&nbsp;<a style='cursor:hand' title='Last Month' onclick=\"parent.switchLastMonth()\"><<</a>"
		+ "</td>"
		+ "<td align=center vAlign=middle>"
		+ "<map name=mapForBtnYears><area title='Next Year' href='Javascript:parent.switchLastYear()' shape=rect coords=0,0,10,5><area title='Last Year' href='Javascript:parent.switchNextYear()' shape=rect coords=0,5,10,15></map>"		
		+ "" + _months[_dCurMonth] + " , " + _dCurYear
		+ "&nbsp;<img border=0 align=absMiddle src='" + _imgBtnYear.src + "' style='height:12px;width:10px' usemap=#mapForBtnYears>&nbsp;"
		+ "</td>"
		+ "<td align=right>"
		+ "<a style='cursor:hand' title='Next Month' onclick=\"parent.switchNextMonth()\">>></a>&nbsp"
		+ "</td></tr></table>"
			
	_day = (_day == 0 ? 7 : _day);
	
	for(var i = _day - 1, dlt = 0; i >= 0; i--){
		_td = _cldTabFrm.rows(iDateStartRow).cells(i);
		//_td.disabled = true;
		_td.className = "lastMonth";
		_td.title = "";
		_td.name = "LASTMONTH";
		_td.style.backgroundColor = "transparent";
		_td.style.border = "0px solid";
		var _nextMonth = _dCurMonth - 1;
		if(_nextMonth < 0) _nextMonth = 11;
		_td.innerText = (_monthDays[_nextMonth] - (dlt++));
	}
	//alert(_cldTabFrm.rows.length);
	i = _day;
	for(var d = 1, iRow = iDateStartRow; d <= _monthDays[_dCurMonth] || iRow < 9; ){
		for(; i < 7; i++){
			dCurDate = d++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -