|页可见区域宽:document.body.clientWidth
|页可见区域高:document.body.clientHeight
|页可见区域宽:document.body.offsetWidth (包括边线的宽)
|页可见区域高:document.body.offsetHeight (包括边线的宽)
|页正文全文宽:document.body.scrollWidth
|页正文全文高:document.body.scrollHeight
|页被卷ȝ高:document.body.scrollTop
|页被卷ȝ左:document.body.scrollLeft
|页正文部分上:window.screenTop
|页正文部分左:window.screenLeft
屏幕分L率的高:window.screen.height
屏幕分L率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth
HTML_定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度?br />
scrollLeft:讄或获取位于对象左边界和窗口中目前可见内容的最左端之间的距?br />
scrollTop:讄或获取位于对象最端和窗口中可见内容的最端之间的距?br />
scrollWidth:获取对象的滚动宽?br />
offsetHeight:获取对象相对于版面或q坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或?offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或?offsetTop 属性指定的父坐标的计算端位置
event.clientX 相对文的水q_?br />
event.clientY 相对文的垂直?br />
event.offsetX 相对容器的水q_?br />
event.offsetY 相对容器的垂直坐?br />
document.documentElement.scrollTop 垂直方向滚动的?br />
event.clientX+document.documentElement.scrollTop 相对文的水q_?垂直方向滚动的量
IEQFireFox 差异如下Q?/p>
IE6.0、FF1.06+Q?/p>
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5Q?br /> clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无?
|页可见区域宽: document.body.clientWidth
|页可见区域高: document.body.clientHeight
|页可见区域宽: document.body.offsetWidth (包括边线的宽)
|页可见区域高: document.body.offsetHeight (包括边线的高)
|页正文全文宽: document.body.scrollWidth
|页正文全文高: document.body.scrollHeight
|页被卷ȝ高: document.body.scrollTop
|页被卷ȝ左: document.body.scrollLeft
|页正文部分上: window.screenTop
|页正文部分左: window.screenLeft
屏幕分L率的高: window.screen.height
屏幕分L率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?/p>
技术要?br /> 本节代码主要使用了Document对象关于H口的一些属性,q些属性的主要功能和用法如下?/p>
要得到窗口的寸Q对于不同的览器,需要用不同的属性和ҎQ若要检窗口的真实寸Q在Netscape下需要用Window的属性;? IE下需要深入Document内部对bodyq行;在DOM环境下,若要得到H口的尺寸,需要注意根元素的尺寸,而不是元素?/p>
Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度?/p>
Document对象的body属性对应HTML文的标{。Document对象的documentElement属性则表示HTML文的根节点?/p>
document.body.clientHeight表示HTML文所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度?/p>
实现代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>误整浏览器H口</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </meta></head> <body> <h2 align="center">误整浏览器H口大小</h2><hr /> <form action="#" method="get" name="form1" id="form1"> <!--昄览器窗口的实际寸--> 览器窗??实际高度: <input type="text" name="availHeight" size="4"/><br /> 览器窗??实际宽度: <input type="text" name="availWidth" size="4"/><br /> </form> <script type="text/javascript"> <!-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数Q获取尺? { //获取H口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((document.body) && (document.body.clientWidth)) winWidth = document.body.clientWidth; //获取H口高度 if (window.innerHeight) winHeight = window.innerHeight; else if ((document.body) && (document.body.clientHeight)) winHeight = document.body.clientHeight; //通过深入Document内部对bodyq行,获取H口大小 if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) { winHeight = document.documentElement.clientHeight; winWidth = document.documentElement.clientWidth; } //l果输出至两个文本框 document.form1.availHeight.value= winHeight; document.form1.availWidth.value= winWidth; } findDimensions(); //调用函数Q获取数? window.onresize=findDimensions; //--> </script> </body> </html> |
源程序解?/p>
Q?Q程序首先徏立一个表单,包含两个文本框,用于昄H口当前的宽度和高度Qƈ且,其数g随窗口大的改变而变化?/p>
Q?Q在随后的JavaScript代码中,首先定义了两个变量winWidth和winHeightQ用于保存窗口的高度值和宽度倹{?/p>
Q?Q然后,在函数findDimensions ( )中,使用window.innerHeight和window.innerWidth得到H口的高度和宽度Qƈ二者保存在前述两个变量中?/p>
Q?Q再通过深入Document内部对bodyq行,获取H口大小Qƈ存储在前qC个变量中?/p>
Q?Q在函数的最后,通过按名U访问表单元素,l果输出至两个文本框?/p>
Q?Q在JavaScript代码的最后,通过调用findDimensions ( )函数Q完成整个操作?br />
U色部分是重Ҏ动代码,可改Z下左x~滚动:
——————?#8211;向上滚动—————————?
function Marquee(){
if(tab2.offsetTop-tab.scrollTop<=0)
tab.scrollTop-=tab1.offsetHeight;
else{
tab.scrollTop++;
}
}
——————?#8211;向下滚动—————————?
tab.scrollTop=tab.scrollHeight;
function Marquee(){
if(tab1.offsetTop-tab.scrollTop>=0)
tab.scrollTop+=tab2.offsetHeight;
else{
tab.scrollTop--
}
}
——————?#8211;向左滚动—————————?
function Marquee(){
if(tab2.offsetWidth-tab.scrollLeft<=0)
tab.scrollLeft-=tab1.offsetWidth;
else{
tab.scrollLeft++
}
}
——————?#8211;向右滚动—————————?
tab.scrollLeft=tab.scrollWidth;
function Marquee(){
if(tab.scrollLeft<=0)
tab.scrollLeft+=tab2.offsetWidth;
else{
tab.scrollLeft--
}
}
——————————————————?br />
有一点要注意的是Q在实现应用中得好高度或宽度,不然会出现滚动两ơ后停止的问题?/p>
?lt;body>中加入属性代码:
oncontextmenu="return false"
onselectstart="return false" 止选中|页上的内容
oncopy="return false" 防复制用户在|页上选中的内?/p>
防止用户另存|页Q?/p>
利用<noscript><iframe src=*.html></iframe></noscript>标签Q能防止|页的直接另存,但不能防止网被Z用工具下?/p>
*为通配W?/p>
?Q?/p>
<html>
<head>
<title>OnContextMenu事g</title>
<script language="JavaScript">
<!--
function uFunction()
{ document.all.infoDiv.innerHTML='你按下了鼠标右键Q但是右键菜单不?昄Q?;}
function uFunction2()
{ document.all.infoDiv.innerHTML='你按下了Ctrl+鼠标右键Q可?昄右键菜单?;}
//-->
</script>
</head>
<body oncontextmenu="if(!event.ctrlKey){uFunction();return false}else{uFunction2()}">
<div id="infoDiv">你按下了鼠标右键Q但是右键菜单不?昄Q?lt;br>你按下了Ctrl+鼠标右键Q可以显C右键菜单?
</div></body>
</html>