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

📄 datepicker.js

📁 sin波形信号发生起的程序 VHDL语言描述 QUartus
💻 JS
字号:
var docHTML ;
var dateField ;
var arrayDays ;
var arrayMonth ;
var posX, posY;
var layerIDGlobal ;
var hasMoved;
var callOnClose = "";

window.onload = initCalendar ;

function initCalendar() {
	if (document.captureEvents) document.captureEvents(Event.MOUSEUP) ;
	document.onmouseup = initCalendarCoordinates ;
	hasMoved = false;
}

function initCalendarCoordinates (e) {
	// IE4
	if (document.all) {
		posX = event.clientX ;
		posY = event.clientY ;
	}
	else {
	// Netscape und W3C compatible
		posX = parseInt(e.pageX+10) ;
		posY = parseInt(e.pageY) ;
	}
	if (document.releaseEvents) document.releaseEvents(Event.MOUSEMOVE);
	document.onmousemove = null;
}
function startDragging() {
	if (document.captureEvents) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = moveCalendar;
}
function moveCalendar(e) {
	if (document.getElementById) {
	// W3C compatible
		if (! e) {
			posX = event.x;
			posY = event.y;
		} else {
			posX = e.pageX;
			posY = e.pageY;
		}
		document.getElementById(layerIDGlobal).style.left = parseInt(posX)  - 10;
		document.getElementById(layerIDGlobal).style.top = parseInt(posY) - 10;
		hasMoved = true;
	}
}

function showCalendar2(layerID, sField, nYear, nMonth) {
	showCalendar(layerID, sField);
	if (nYear != "" && nMonth != "") {
		changeCalendar(nYear, nMonth-1);
	}
}

function showCalendar(layerID, sField) {
// Der Kalender wird aktiviert oder deaktiviert
	if (document.getElementById) {
	// W3C compatible
			var layer = document.getElementById(layerID);
		//	if (layer.captureEvents) layer.captureEvents(Event.MOUSEDOWN) ;
		//	layer.onmousedown = startDragging;
	}
	layerIDGlobal = layerID ;
	dateField = sField ;
	if (document.getElementById) {
	// W3C compatible
		if (document.getElementById(layerID).style.visibility == "visible") document.getElementById(layerID).style.visibility = "hidden" ;
		else {
			document.getElementById(layerID).style.visibility = "visible" ;
			if(! hasMoved) {
				document.getElementById(layerID).style.left = parseInt(posX) + 20 ;
				document.getElementById(layerID).style.top = parseInt(posY) + 10;
			}
		}
	}
	else if (document.layers) {
	// Netscape compatible
		if (document.layers[layerID].visibility == "visible" | document.layers[layerID].visibility == "show") document.layers[layerID].visibility = "hide" ;
		else {
			document.layers[layerID].visibility = "show" ;
			document.layers[layerID].left = posX ;
			document.layers[layerID].top = posY ;
		}
	}
	else if (document.all) {
	// IE4 und IE5 compatible
		if (document.all[layerID].style.visibility == "visible") document.all[layerID].style.visibility = "hidden" ;
		else {
			document.all[layerID].style.visibility = "visible" ;
			document.all[layerID].style.left = parseInt(posX)+10 ;
			document.all[layerID].style.top = parseInt(posY) ;
		}
	}
}

function closeCalendar() {
	showCalendar(layerIDGlobal, "");
}

function drawCalendar(cYear, cMonth) {
// Der Kalender wird gezeichnet
	var currentDate = new Date() ;
	var year = currentDate.getFullYear();
	var month = currentDate.getMonth();
	var day = currentDate.getDate();
	var myMonth = buildCalendar(cYear, cMonth)
	var showMonth = arrayMonth[parseInt(cMonth)] ;
	docHTML = "<table class='dateTable' cellspacing='0' cellpadding='0'>" ;
	docHTML = docHTML + "<tr>";
	docHTML = docHTML + "<td class=dateHead colspan=6 align=centre>Select Date</td>" ;
	docHTML = docHTML + "<td class=dateHeadsub><a href='#' onclick='closeCalendar() ; return false ; '><b>X</b></a></td>" ;
	docHTML = docHTML + "</tr>" ;
	docHTML = docHTML + "<tr>" ;
	docHTML = docHTML + "<td class=cellTable><a class=arrowTable href='#' onclick='changeCalendar(" + parseInt(cYear-1) + ", " + parseInt(cMonth) + ") ; return false ; '><<</a></td>" ;
	docHTML = docHTML + "<td class=cellTable><a class=arrowTable href='#' onclick='changeCalendar(" + (cMonth==0 ? parseInt(cYear-1) : parseInt(cYear)) + ", " + (cMonth==0 ? 11 : parseInt(cMonth-1)) + ") ; return false ; '><</a></td>" ;
	docHTML = docHTML + "<td colspan=3 align=center><font class=headingText>" + showMonth + " " + cYear + "</font></td>" ;
	docHTML = docHTML + "<td class=cellTable><a class=arrowTable href='#' onclick='changeCalendar(" + (cMonth==11 ? parseInt(cYear+1) : parseInt(cYear)) + ", " + (cMonth==11 ? 0 : parseInt(cMonth+1)) + ") ; return false ; '>></a></td>" ;
	docHTML = docHTML + "<td class=cellTable><a class=arrowTable href='#' onclick='changeCalendar(" + parseInt(cYear+1) + ", " + parseInt(cMonth) + ") ; return false ; '>>></a></td>" ;
	docHTML = docHTML + "</tr>" ;
	docHTML = docHTML + "<tr>" ;
	for (w=0; w<7; w++) {
		docHTML = docHTML + "<td class=headingDays>" + myMonth[0][w] + "</td>" ;
	}
	docHTML = docHTML + "</tr>" ;
	var css="";
	for (w=1; w<7; w++) {
		docHTML = docHTML + "<tr>" ;
		for (d=0; d<7; d++) {
			docHTML = docHTML + "<td class=cellTable>" ;
			if ( !isNaN(myMonth[w][d]) ) {
				if (day==myMonth[w][d] && month==parseInt(cMonth)) {css=" id='today'";}
				docHTML = docHTML + "<a class='bodyDays'" + css + " href='#' onclick='clickCalendar(" + myMonth[w][d] + ", " + parseInt(cMonth+1) + ", " + cYear + ") ; return false ; '>" + myMonth[w][d] + "</a>" ;
				css = "bodyDays";
			}
			else docHTML = docHTML + "<font class=bodyDays>&nbsp;</font>" ;
			docHTML = docHTML + "</td>" ;
		}
		docHTML = docHTML + "</tr>" ;
	}
	docHTML = docHTML + "</table>" ;

	return docHTML;
}

function buildCalendar(aYear, aMonth) {
// Diese Funktion bestimmt eine Monats-Matrix
	var tMonth = new Array() ;
	var tDate1 = new Date(aYear, aMonth, 1) ;
	var tDate28 = new Date(aYear, aMonth, 28) ;
	var tDate29 = new Date(aYear, aMonth, 29) ;
	var tDate30 = new Date(aYear, aMonth, 30) ;
	var tDate31 = new Date(aYear, aMonth, 31) ;
	var tFirstDay = tDate1.getDay() ;
	var tDays = 0 ;
	if ( tDate31.getMonth() == tDate1.getMonth() ) tDays = tDate31.getDate() ;
	else if ( tDate30.getMonth() == tDate1.getMonth() ) tDays = tDate30.getDate() ;
	else if ( tDate29.getMonth() == tDate1.getMonth() ) tDays = tDate29.getDate() ;
	else if ( tDate28.getMonth() == tDate1.getMonth() ) tDays = tDate28.getDate() ;
	var tVar = 1 ;

	tMonth[0] = arrayDays ;
	tMonth[1] = new Array(7) ;
	tMonth[2] = new Array(7) ;
	tMonth[3] = new Array(7) ;
	tMonth[4] = new Array(7) ;
	tMonth[5] = new Array(7) ;
	tMonth[6] = new Array(7) ;

	if (tFirstDay == 0) {
		tMonth[1][6] = tVar ;
		tVar++ ;
	}
	else {
		for (d=tFirstDay-1; d<7; d++) {
			tMonth[1][d] = tVar ;
			tVar++ ;
		}
	}
	for (w=2; w<7; w++) {
		for (d=0; d<7; d++) {
			if (tVar <= tDays) {
				tMonth[w][d] = tVar ;
				tVar++ ;
			}
		}
	}
	return tMonth ;

}

function clickCalendar(sDay, sMonth, sYear) {
// Ein bestimmtes Datum wird ausgew\u00E4hlt
	if (sDay < 10) sDay = "0" + sDay ;
	if (sMonth < 10) sMonth = "0" + sMonth ;
	document.forms[1].elements[dateField].value = sDay + "/" + sMonth + "/" +  sYear
/*	document.forms[1].elements[dateField].value = sYear + "-" + sMonth + "-" + sDay ;;
	document.forms[1].elements[dateField].value = sDay + " " + arrayMonth[parseInt(sMonth-1)] + " " + sYear*/

/* THIS IS WHERE IT IS CHANGED TO USE THE THREE FIELDS WE ALREADY HAVE
	var dayField = dateField + '_d';
	var monthField = dateField+'_m'
	var yearField = dateField+'_y'
	document.forms[1].elements[dayField].value = sDay;
	document.forms[1].elements[monthField].value = sMonth;
	document.forms[1].elements[yearField].value = sYear;
*/
	showCalendar(layerIDGlobal, "") ;
	if ( callOnClose != "") {
		eval(callOnClose);
	}
}

function changeCalendar(nYear, nMonth) {
// Monat oder Jahr des Kalenders werden ge\u00E4ndert
	if (document.getElementById) {
	// W3C compatible
		drawCalendar(nYear, nMonth) ;
		document.getElementById(layerIDGlobal).innerHTML = docHTML ;
	}
	else if (document.layers) {
	// Netscape compatible
		document.layers["DatePicker"].document.open() ;
		drawCalendar(nYear, nMonth) ;
		document.write("<div class='layerBackground'>")
		document.write(docHTML) ;
		document.write("</div>")
		document.layers["DatePicker"].document.close() ;
	}
	else if (document.all) {
	// IE4 und  IE5 compatible
		drawCalendar(nYear, nMonth) ;
		document.all["DatePicker"].innerHTML = docHTML ;
	}
}

⌨️ 快捷键说明

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