色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

由document.body和document.documentElement想到的

對于document.compatMode,很多朋友可能都根我一樣很少接觸,知道他的存在卻不清楚他的用途。其實這個對于我們開發兼容性的web頁面還是很有幫助,我們都知道,盒模型的渲染在 Standards Mode和Quirks Mode是有很大差別的,在不聲明Doctype的情況下,瀏覽器默認是Quirks Mode。所以為兼容性考慮,我們可能需要獲取當前的文檔渲染方式。
document.compatMode正好派上用場,它有兩種可能的返回值:BackCompat和CSS1Compat,對其解釋如下:
BackCompat Standards-compliant mode is not switched on. (Quirks Mode)
CSS1Compat Standards-compliant mode is switched on. (Standards Mode)
當文檔有了標準聲明時, document.compatMode 的值就等于 "CSS1compat", 因此, 我們可以根據 document.compatMode 的值來判斷文檔是否加了標準聲明
var height = document.compatMode=="CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
當文檔有了標準聲明時火狐的style.top等等的設置必須加上“px”等單位,否則它不會認。既然已經說道了這,再展開一下。對于火狐:
一、offsetTop 返回的是數字,而 style.top 返回的是字符串,除了數字外還帶有單位:px。
二、offsetTop 只讀,而 style.top 可讀寫。
三、如果沒有給 HTML 元素指定過 top 樣式(即使在css中設定也不行),則 style.top 返回的是空字符串。
offsetLeft 與 style.left、offsetWidth 與 style.width、offsetHeight 與 style.height 也是同樣道理。
再說說他們的區別吧:
下面這段大家可能都見到過,在網上被轉載過很多次,在這我也借用一下:
.Kfk428 { display:none; }
網頁可見區域寬: 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;
屏幕分辨率的高: window.screen.height;
屏幕分辨率的寬: window.screen.width;
屏幕可用工作區高度: window.screen.availHeight;
屏幕可用工作區寬度:window.screen.availWidth;

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均無關)

在設置了文檔類型后也可能有差異,以上僅供參考

JavaScript技術由document.body和document.documentElement想到的,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 什邡市| 唐山市| 金平| 米易县| 收藏| 同德县| 芒康县| 太湖县| 余姚市| 八宿县| 永州市| 夏邑县| 海原县| 娄底市| 彰化市| 新丰县| 旬阳县| 朝阳市| 清新县| 曲阜市| 聂荣县| 宣化县| 五常市| 玉田县| 方正县| 颍上县| 常山县| 唐海县| 广宗县| 唐海县| 井研县| 桂阳县| 建平县| 凭祥市| 鄂尔多斯市| 崇明县| 潞西市| 三门县| 唐河县| 日喀则市| 娄烦县|