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

📄 anchorposition.js

📁 JavaScript编写的弹出式日历程序
💻 JS
字号:
// ===================================================================// Author: Matt Kruse <matt@mattkruse.com>// WWW: http://www.mattkruse.com///// NOTICE: You may use this code for any purpose, commercial or// private, without any further permission from the author. You may// remove this notice from your final code if you wish, however it is// appreciated by the author if at least my web site address is kept.//// You may *NOT* re-distribute this code in any way except through its// use. That means, you can include it in your product, or your web// site, or any other form where the code is actually being used. You// may not put the plain javascript up on your site for download or// include it in your javascript libraries for download. // If you wish to share this code with others, please just point them// to the URL instead.// Please DO NOT link directly to my .js files from your site. Copy// the files to your server and use them there. Thank you.// ===================================================================/* AnchorPosition.jsAuthor: Matt KruseLast modified: 10/11/02DESCRIPTION: These functions find the position of an <A> tag in a document,so other elements can be positioned relative to it.COMPATABILITY: Netscape 4.x,6.x,Mozilla, IE 5.x,6.x on Windows. Some smallpositioning errors - usually with Window positioning - occur on the Macintosh platform.FUNCTIONS:getAnchorPosition(anchorname)  Returns an Object() having .x and .y properties of the pixel coordinates  of the upper-left corner of the anchor. Position is relative to the PAGE.getAnchorWindowPosition(anchorname)  Returns an Object() having .x and .y properties of the pixel coordinates  of the upper-left corner of the anchor, relative to the WHOLE SCREEN.NOTES:1) For popping up separate browser windows, use getAnchorWindowPosition.    Otherwise, use getAnchorPosition2) Your anchor tag MUST contain both NAME and ID attributes which are the    same. For example:   <A NAME="test" ID="test"> </A>3) There must be at least a space between <A> </A> for IE5.5 to see the    anchor tag correctly. Do not do <A></A> with no space.*/ // getAnchorPosition(anchorname)//   This function returns an object having .x and .y properties which are the coordinates//   of the named anchor, relative to the page.function getAnchorPosition(anchorname) {	// This function will return an Object with x and y properties	var useWindow=false;	var coordinates=new Object();	var x=0,y=0;	// Browser capability sniffing	var use_gebi=false, use_css=false, use_layers=false;	if (document.getElementById) { use_gebi=true; }	else if (document.all) { use_css=true; }	else if (document.layers) { use_layers=true; }	// Logic to find position 	if (use_gebi && document.all) {		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);		}	else if (use_gebi) {		var o=document.getElementById(anchorname);		x=AnchorPosition_getPageOffsetLeft(o);		y=AnchorPosition_getPageOffsetTop(o);		} 	else if (use_css) {		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);		}	else if (use_layers) {		var found=0;		for (var i=0; i<document.anchors.length; i++) {			if (document.anchors[i].name==anchorname) { found=1; break; }			}		if (found==0) {			coordinates.x=0; coordinates.y=0; return coordinates;			}		x=document.anchors[i].x;		y=document.anchors[i].y;		}	else {		coordinates.x=0; coordinates.y=0; return coordinates;		}	coordinates.x=x;	coordinates.y=y;	return coordinates;	}// getAnchorWindowPosition(anchorname)//   This function returns an object having .x and .y properties which are the coordinates//   of the named anchor, relative to the windowfunction getAnchorWindowPosition(anchorname) {	var coordinates=getAnchorPosition(anchorname);	var x=0;	var y=0;	if (document.getElementById) {		if (isNaN(window.screenX)) {			x=coordinates.x-document.body.scrollLeft+window.screenLeft;			y=coordinates.y-document.body.scrollTop+window.screenTop;			}		else {			x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;			y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;			}		}	else if (document.all) {		x=coordinates.x-document.body.scrollLeft+window.screenLeft;		y=coordinates.y-document.body.scrollTop+window.screenTop;		}	else if (document.layers) {		x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;		y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;		}	coordinates.x=x;	coordinates.y=y;	return coordinates;	}// Functions for IE to get position of an objectfunction AnchorPosition_getPageOffsetLeft (el) {	var ol=el.offsetLeft;	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }	return ol;	}function AnchorPosition_getWindowOffsetLeft (el) {	return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;	}	function AnchorPosition_getPageOffsetTop (el) {	var ot=el.offsetTop;	while((el=el.offsetParent) != null) { ot += el.offsetTop; }	return ot;	}function AnchorPosition_getWindowOffsetTop (el) {	return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;	}

⌨️ 快捷键说明

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