JS和JQUERY獲取頁面大小,滾動條位置,元素位置(示例代碼)
js與jquery獲得頁面大小、滾動條位置、元素位置
//頁面位置及窗口大小
function GetPageSize() {
var scrW, scrH;
if(window.innerHeight && window.scrollMaxY)
{ // Mozilla
scrW = window.innerWidth + window.scrollMaxX;
scrH = window.innerHeight + window.scrollMaxY;
}
else if(document.body.scrollHeight > document.body.offsetHeight)
{ // all but IE Mac
scrW = document.body.scrollWidth;
scrH = document.body.scrollHeight;
} else if(document.body)
{ // IE Mac
scrW = document.body.offsetWidth;
scrH = document.body.offsetHeight;
}
var winW, winH;
if(window.innerHeight)
{ // all except IE
winW = window.innerWidth;
winH = window.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight)
{ // IE 6 Strict Mode
winW = document.documentElement.clientWidth;
winH = document.documentElement.clientHeight;
} else if (document.body) { // other
winW = document.body.clientWidth;
winH = document.body.clientHeight;
} // for small pages with total size less then the viewport
var pageW = (scrW<winW) ? winW : scrW;
var pageH = (scrH<winH) ? winH : scrH;
return {PageW:pageW, PageH:pageH, WinW:winW, WinH:winH};
};
//滾動條位置
function GetPageScroll()
{
var x, y; if(window.pageYOffset)
{ // all except IE
y = window.pageYOffset;
x = window.pageXOffset;
} else if(document.documentElement && document.documentElement.scrollTop)
{ // IE 6 Strict
y = document.documentElement.scrollTop;
x = document.documentElement.scrollLeft;
} else if(document.body) { // all other IE
y = document.body.scrollTop;
x = document.body.scrollLeft;
}
return {X:x, Y:y};
}
jquery
獲取瀏覽器顯示區(qū)域的高度 : $(window).height();
獲取瀏覽器顯示區(qū)域的寬度 :$(window).width();
獲取頁面的文檔高度 :$(document).height();
獲取頁面的文檔寬度 :$(document).width();
獲取滾動條到頂部的垂直高度 :$(document).scrollTop();
獲取滾動條到左邊的垂直寬度 :$(document).scrollLeft();
計算元素位置和偏移量
offset方法是一個很有用的方法,它返回包裝集中第一個元素的偏移信息。默認情況下是相對body的偏移信息。結(jié)果包含 top和left兩個屬性。
offset(options, results)
options.relativeTo 指定相對計 算偏移位置的祖先元素。這個元素應(yīng)該是relative或absolute定位。省略則相對body。
options.scroll 是否把 滾動條計算在內(nèi),默認TRUE
options.padding 是否把padding計算在內(nèi),默認false
options.margin 是否把margin計算在內(nèi),默認true
options.border 是否把邊框計算在內(nèi),默認true
相關(guān)文章
Jquery中的$.each獲取各種返回類型數(shù)據(jù)的使用方法
each()方法能使DOM循環(huán)結(jié)構(gòu)簡潔,不容易出錯。each()函數(shù)封裝了十分強大的遍歷功能,使用也很方便,它可以遍歷一維數(shù)組、多維數(shù)組、DOM, JSON 等等,在javaScript開發(fā)過程中使用$each可以大大的減輕我們的工作量。2015-05-05使用JQUERY進行后臺頁面布局控制DIV實現(xiàn)左右式
一個網(wǎng)站的后臺使用frame框架來實現(xiàn)這種形式,這邊作者不是使用的frame而是純div進行布局,下面看下具體的實現(xiàn)代碼2014-01-01jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法分析
這篇文章主要介紹了jQuery動態(tài)添加元素無法觸發(fā)綁定事件的解決方法,結(jié)合實例形式分析了動態(tài)添加元素無法綁定事件的原因與相關(guān)解決方法,需要的朋友可以參考下2018-01-01jquery中$(#form :input)與$(#form input)的區(qū)別
本節(jié)為大家介紹下jquery 中$(#form :input)與$(#form input)的區(qū)別,需要的朋友可以參考下2014-08-08JQuery實現(xiàn)鼠標滑過顯示導(dǎo)航下拉列表
我們往往是將同一級目錄下的欄目先隱藏起來,當用戶的鼠標滑過時則顯示出來。這就是用javascript實現(xiàn)的一個導(dǎo)航欄下拉列表,下面為大家講解下是如何實現(xiàn)的2013-09-09