易截截图软件、单文件、免安装、纯绿色、仅160KB

[转]用Javascript获取页面元素的位置

用Javascript获取页面元素的位置
阮一峰 发表于 2009年09月14日
|
分类:首页
-> 档案
-> IT技术



作网页的过程中,你有时候需要知道某个元素在网页上的确切位置。
下面的教程总结了Javascript在网页定位方面的相关知识。
一、网页的绝对大小和相对大小
首先,要明确两个基本概念。
一张网页的全部面积,就是它的绝对大小。通常情况下,网页的绝对大小由内容和CSS样式表决定。
网页的相对大小则是指在浏览器窗口中看到的那部分网页,也就是浏览器窗口的大小,又叫做viewport(视口)。
下图中央的方框就代表浏览器窗口,每次只能显示一部分网页。
(图一 网页的绝对大小和相对大小)
很显然,如果网页的内容能够在浏览器窗口中全部显示(也就是不出现滚动条),那么网页的绝对大小和相对大小是相等的。
二、获取网页的相对大小
网页上的每个元素,都有clientHeight和clientWidth属性,利用它们就可以得到网页的相对大小。这两个属性代表的大小,是指元素的内容部分再加上padding的大小,但是不包括border和滚动条占用的空间。
(图二 clientHeight和clientWidth属性)
因此,document元素的clientHeight和clientWidth属性,就代表了网页的相对大小。
  function getViewport(){
    if (document.compatMode == "BackCompat"){
      return {
        width: document.body.clientWidth,
        height: document.body.clientHeight
      }
    } else {
      return {
        width: document.documentElement.clientWidth,
        height: document.documentElement.clientHeight
      }
    }
  }
上面的getViewport函数就可以返回浏览器窗口的高和宽。使用的时候,有三个地方需要注意:
1)这个函数必须在页面加载完成后才能运行,否则document对象还没生成,浏览器会报错。
2)大多数情况下,都是document.documentElement.clientWidth返回正确值。但是,在IE6的quirks模式中,document.body.clientWidth返回正确的值,因此函数中加入了对文档模式的判断。
3)clientWidth和clientHeight都是只读属性,不能对它们赋值。
三、获取网页的绝对大小
document对象的scrollHeight和scrollWidth属性就是网页的绝对大小,意思就是滚动条滚过的


相关文档:

Javascript中的日期格式化

做Java开发的人都知道,在Java中有XXXFormat(比如SimpleDateFormat)类可以帮助我们得到想要的数据格式.在JavaScript中没有这样的东西,所以我们需要用另一种方法得到我们想要的东西.代码如下:
<html>
<head>
<title>Test</title>
<mce:script type="text/javascript" language="javascri ......

Javascript在网页的页面加载时执行的顺序

一、在HTML中嵌入Javasript的方法
1、直接在Javascript代码放在标记对<script>和</script>之间
2、由<script. />标记的src属性制定外部的js文件
3、放在事件处理程序中,比如:<p nclick="alert('我是由onclick事件执行的Javascript')">点击我</p>
4、作为URL的主体,这个URL使用特殊的J ......

JavaScript(JS)自带字符串处理函数


concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf(& ......

几个不错的JavaScript跨平台图表库

1. timeplot
地址:http://www.simile-widgets.org/timeplot/
下载:http://code.google.com/p/simile-widgets/downloads/list
2.flot
是一个jquery插件,效果不错。
地址:http://code.google.com/p/flot/
3.Highcharts
地址:http://www.highcharts.com/
好像只对个人免费。
......

JavaScript文件引用JavaScript文件的方法

方法一:
Js_file01.js 
========
//程序代码
document.write(" <script  language=\"javascript\"  src="\/com\/ Js_file02.js \"  > <\/script>"); 
 
方法二:
html代码
程序代码
<html>
<body>
<input type="button" value="ok" onclick="ja ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号