網頁可見區域寬: 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 相對文檔的水平座標+垂直方向滾動的量
要獲取當前頁面的滾動條縱坐標位置,用:
document.documentElement.scrollTop;
而不是:
document.body.scrollTop;
documentElement 對應的是 html 標簽,而 body 對應的是 body 標簽
document.body.scrollTop與document.documentElement.scrollTop兼容
這兩天在寫一個JS的網頁右鍵菜單,在實現菜單定位的時候發現了這個問題:chrome居然不認識document.documentElement.scrollTop!
看前輩們的文章,紛紛表示如果有文檔聲明(即網頁第一句的docType)的情況下,標准瀏覽器是只認識documentElement.scrollTop的,但chrome雖然我感覺比firefox還標准,但卻不認識這個,在有文檔聲明時,chrome也只認識document.body.scrollTop.
由於在不同情況下,document.body.scrollTop與document.documentElement.scrollTop都有可能取不到值,那到底網頁的scrollTop值怎么得到呢?難道又要用javascript進行判斷?
其實不必。因為document.body.scrollTop與document.documentElement.scrollTop兩者有個特點,就是同時只會有一個值生效。比如document.body.scrollTop能取到值的時候,document.documentElement.scrollTop就會始終為0;反之亦然。所以,如果要得到網頁的真正的scrollTop值,可以這樣:
var sTop=document.body.scrollTop+document.documentElement.scrollTop;
這兩個值總會有一個恆為0,所以不用擔心會對真正的scrollTop造成影響。一點小技巧,但很實用。