1. 程式人生 > >scrollLeft,scrollWidth,clientWidth,offsetWidth之完全詳解

scrollLeft,scrollWidth,clientWidth,offsetWidth之完全詳解

scrollHeight: 獲取物件的滾動高度。 
scrollLeft:設定或獲取位於物件左邊界和視窗中目前可見內容的最左端之間的距離
scrollTop:設定或獲取位於物件最頂端和視窗中可見內容的最頂端之間的距離
scrollWidth:獲取物件的滾動寬度
offsetHeight:獲取物件相對於版面或由父座標 offsetParent 屬性指定的父座標的高度
offsetLeft:獲取物件相對於版面或由 offsetParent 屬性指定的父座標的計算左側位置
offsetTop:獲取物件相對於版面或由 offsetTop 屬性指定的父座標的計算頂端位置 
event.clientX 相對文件的水平座標
event.clientY 相對文件的垂直座標

event.offsetX 相對容器的水平座標
event.offsetY 相對容器的垂直座標 
document.documentElement.scrollTop 垂直方向滾動的值
event.clientX+document.documentElement.scrollTop 相對文件的水平座標+垂直方向滾動的量 

以上主要指IE之中,FireFox差異如下:
IE6.0、FF1.06+:
clientWidth = width + padding
clientHeight = height + padding
offsetWidth = width + padding + border
offsetHeight = height + padding + border
IE5.0/5.5:
clientWidth = width - border
clientHeight = height - border
offsetWidth = width
offsetHeight = height
(需要提一下:CSS中的margin屬性,與clientWidth、offsetWidth、clientHeight、offsetHeight均無關)

Example:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="[url=http://www.w3.org/1999/xhtml]http://www.w3.org/1999/xhtml[/url]" lang="gb2312">
<head>
<head>
<title> 程式碼例項:關於clientWidth、offsetWidth、clientHeight、offsetHeight的測試比較 </title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<meta name="author" content="楓巖,

[email protected]">
<meta name="copyright" content="[url=http://www.cnlei.com]http://www.cnlei.com[/url]" />
<meta name="description" content="關於clientWidth、offsetWidth、clientHeight、offsetHeight的測試比較" />
<style type="text/css" media="all">
body {font-size:14px;}
a,a:visited {color:#00f;}
#Div_CnLei {
width:300px;
height:200px;
padding:10px;
border:10px solid #ccc;
background:#eee;
font-size:12px;
}
#Div_CnLei p {margin:0;padding:10px;background:#fff;}
</style>
<script type="text/javascript">
function Obj(s){
return document.getElementById(s)?document.getElementById(s):s;
}
function GetClientWidth(o){
return Obj(o).clientWidth;
}
function GetClientHeight(o){
return Obj(o).clientHeight;
}
function GetOffsetWidth(o){
return Obj(o).offsetWidth;
}
function GetOffsetHeight(o){
return Obj(o).offsetHeight;
}
</script>
</head>
<body>
<p>點選下面的連結:</p>
<div id="Div_CnLei">
<p><a href="javascript:alert(GetClientWidth('Div_CnLei'));">GetClientWidth();</a>  <a href="javascript:alert(GetClientHeight('Div_CnLei'));">GetClientHeight();</a></p>
<p><a href="javascript:alert(GetOffsetWidth('Div_CnLei'));">GetOffsetWidth();</a>  <a href="javascript:alert(GetOffsetHeight('Div_CnLei'));">GetOffsetHeight();</a></p>
</div>
<div id="Description">
<p><strong>IE6.0、FF1.06+:</strong><br />
clientWidth = width + padding = 300+10×2 = 320<br />
clientHeight = height + padding = 200+10×2 = 220<br />
offsetWidth = width + padding + border = 300+10×2+10×2= 340<br />
offsetHeight = height + padding + border = 200+10×2+10×2 = 240</p>
<p><strong>IE5.0/5.5:</strong><br />
clientWidth = width - border = 300-10×2 = 280<br />
clientHeight = height - border = 200-10×2 = 180<br />
offsetWidth = width = 300<br />
offsetHeight = height = 200</p>
</div>
</body>
</html>

相關推薦

HTML精確定位:scrollLeft,scrollWidth,clientWidth,offsetWidth完全

scrollHeight: 獲取物件的滾動高度。  scrollLeft:設定或獲取位於物件左邊界和視窗中目前可見內容的最左端之間的距離 scrollTop:設定或獲取位於物件最頂端和視窗中可見內容的最頂端之間的距離 scrollWidth:獲取物件的滾動寬度 offsetHeight:獲取物件相對於版面或由

scrollLeft,scrollWidth,clientWidth,offsetWidth完全

scrollHeight: 獲取物件的滾動高度。  scrollLeft:設定或獲取位於物件左邊界和視窗中目前可見內容的最左端之間的距離 scrollTop:設定或獲取位於物件最頂端和視窗中可見內容的最頂端之間的距離 scrollWidth:獲取物件的滾動寬度 offsetH

HTML精確定位:scrollWidth,clientWidth,offsetWidth

本文並非原創,只是真心覺得好,特別是圖解的很到位,我在js中經常會用到,就記下來,與大家分享。 HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距離之完全詳解 scrollHeight: 獲取物件的滾動高度。 scrollLeft:設定

Android 多線程IntentService 完全

required xmlns 抽象 bitmap 圖片 on() 使用 ecif ati 關聯文章: Android 多線程之HandlerThread 完全詳解 Android 多線程之IntentService 完全詳解 android多線程-AsyncTask之

Android 多執行緒HandlerThread 完全

  之前對執行緒也寫過幾篇文章,不過倒是沒有針對android,因為java與android線上程方面大部分還是相同,不過本篇我們要介紹的是android的專屬類HandlerThread,因為HandlerThread在設定思想上還是挺值得我們學習的,那麼我們下面來

用ant的build.xml構建自動化打包android apk 完全(打包系列教程二)

打包系列教程目錄: 通過上一篇文章內容的學習,我們基本已經明白了android打包簽名apk的主要操作與流程,那麼這一篇文章我們就將上一篇文章的打包內容轉化成ant的build.xml檔案進行自動化打包,這樣可以避免我們上一篇文章的敲打命令列的繁瑣操作,從而

javaweb監聽器

兩個 rec roman 虛擬 銷毀 mar host swap 技術 在servlet中定義了多種類型的監聽器,他們用於監聽事件源分別是servletContext,httpsession,servletrequest 這三個域對象。 servlet中監聽器主要有三類:

IO測試工具fio

沒有 性能 同時 rac 目前 code linux系統 安裝 enc 目前主流的第三方IO測試工具有fio、iometer和Orion,這三種工具各有千秋。 fio在Linux系統下使用比較方便,iometer在window系統下使用比較方便,Orion是oracle的I

多媒體開發庫 SDL

詳解 lang 模擬 llb 創建 mac os 視頻 內置 bsp SDL 簡介 SDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函數,讓開發者只要用相同或是相似的代碼

HadoopWordCount

ride 開始 zookeepe ati 程序 form 數組 -c 狀態 花了好長時間查找資料理解、學習、總結 這應該是一篇比較全面的MapReduce之WordCount文章了 耐心看下去 1,創建本地文件 在hadoop-2.6.0文件夾下創建一個文件夾data,在其

Vue 進階教程 v-model

com 方式 事件 變化 復習 簡寫 mage fine 需要 分享 Vue 官網教程上關於 v-model 的講解不是十分的詳細,寫這篇文章的目的就是詳細的剖析一下, 並介紹 Vue 2.2 v-model改進的地方,然後穿插的再說點 Vue 的小知識。 在 Vue 中,

CEF3開發者系列CefEnableHighDPISupport

html use enable val 情況 immediate zoom brush 放大 在CEF3中,CefEnableHighDPISupport()這個接口函數在使用時一般不為人所註意,但是如果稍有不慎,會造成打開的網頁不能填滿窗口的問題。如果是需要flash插件

Linux性能監控命令lsof

轉換 device symbol 能夠 基礎 打開 init 可執行文件 ive 1. lsof 命令介紹 lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問

Linux命令CP

linux命令之cp詳解Linux命令之CP詳解嘿嘿,又一周過去了,大家過的怎麽樣呢,在這一周時間裏,小編可是又學到不少新知識呢。今天呢,小編就和大家分享一下Linux中我們常用的CP的命令,這裏的cp可是copy的簡寫噢。(容我嘚瑟一下) 學過linux的都知道,在我們操作的過程中,我們常常會用到cp這個命

aNDROIDMEDIapLaYER

iap music media 詳解 list oid aid 5% layer %E8%BD%AC%E8%BD%BD%E4%B8%80%E4%B8%AA%E5%9B%BE%E7%89%87%E5%A4%84%E7%90%86%E5%B7%A5%E5%85%B7%E7%B1

MANIFEST.MF 文件內容完全(轉)

做的 software 多功能 keys 要求 ext pmd 獲取 可執行 打開Java的JAR文件我們經常可以看到文件中包含著一個META-INF目錄, 這個目錄下會有一些文件,其中必有一個MANIFEST.MF,這個文件描述了該Jar文件的很多信息,下面將詳細介紹MA

MyBatisMapper及常用技巧

mybatis mapperselect先看一個簡單的案例:<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id} </selec

[持續交付實踐] pipeline:pipeline 使用語法

安裝工具 詳細 href 3.0 def 實現 能夠 action roo 一、引言 jenkins pipeline語法的發展如此之快用日新月異來形容也不為過,而目前國內對jenkins pipeline關註的人還非常少,相關的文章更是稀少,唯一看到w3c有篇相關的估計是

python模塊XlsxWriter

som hnu ima conf all 合並單元格 stack from pen Xlsx是python用來構造xlsx文件的模塊,可以向excel2007+中寫text,numbers,formulas 公式以及hyperlinks超鏈接。 可以完成xlsx文件的自動化

MySQL索引

分布 i/o .cn 能夠 b+ images 電路 普通 磁道 這篇博客將要闡述為什麽使用b+樹作為索引,而不是b樹或者其他樹 1.什麽是b樹