原生js和jQ獲取視窗寬高及捲軸的方法和函式
原生js和jQ獲取視窗寬高及捲軸的方法和函式一。原生js獲取1.實際寬高(不包括工具欄,捲軸的視口高度,ie6.7.8不支援)window.innerHeightwindow.innerWidth2.螢幕寬高screen.heightscreen.width3..螢幕寬高(除windows工作列之外的高度)螢幕可用工作區screen.avaiHeightscreen.availWidth4.網頁可見區域寬高document.body.clientWidthdocument.body.clientHeight5.網頁可見區域寬高(包括邊線的寬高)document.body.offsetWidthdocument.body.offsetHeight6.網頁正文全文寬高document.body.scrollWidthocument.body.scrollHeight7.網頁被捲去的左高document.body.scrollTopdocument.body.scrollLeft8.在我本地測試當中:【轉】在IE、FireFox、Opera下都可以使用document.body.clientWidthdocument.body.clientHeight即可獲得,很簡單,很方便。而在公司專案當中:Opera仍然使用document.body.clientWidthdocument.body.clientHeight可是IE和FireFox則使用document.documentElement.clientWidthdocument.documentElement.clientHeight原來是W3C的標準在作怪啊<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">如果在頁面中新增這行標記的話在IE中:document.body.clientWidth ==> BODY物件寬度document.body.clientHeight ==> BODY物件高度document.documentElement.clientWidth ==> 可見區域寬度document.documentElement.clientHeight ==> 可見區域高度在FireFox中:document.body.clientWidth ==> BODY物件寬度document.body.clientHeight ==> BODY物件高度document.documentElement.clientWidth ==> 可見區域寬度document.documentElement.clientHeight ==> 可見區域高度?在Opera中:document.body.clientWidth ==> 可見區域寬度document.body.clientHeight ==> 可見區域高度document.documentElement.clientWidth ==> 頁面物件寬度(即BODY物件寬度加上Margin寬)document.documentElement.clientHeight ==> 頁面物件高度(即BODY物件高度加上Margin高)而如果沒有定義W3C的標準,則IE為:document.documentElement.clientWidth ==> 0document.documentElement.clientHeight ==> 0FireFox為:document.documentElement.clientWidth ==> 頁面物件寬度(即BODY物件寬度加上Margin寬)document.documentElement.clientHeight ==> 頁面物件高度(即BODY物件高度加上Margin高)Opera為:document.documentElement.clientWidth ==> 頁面物件寬度(即BODY物件寬度加上Margin寬)document.documentElement.clientHeight ==> 頁面物件高度(即BODY物件高度加上Margin高)真是一件麻煩事情,其實就開發來看,寧可少一些物件和方法,不使用最新的標準要方便許多啊。有時候需要取頁面的底部, 就會用到document.body.clientHeight , 在HTML 標準中(這一句就能取到整個頁面的高度, 不論body 的實際內容到底有多高, 例如, 1074*768 的解析度, 頁面最大化時, 這個高度約為720 , 即使頁面上只有一句”hello world” , 也仍然取到720.可是在XHTML中, 如果body 體中只有一行, 則document.body.clientHeight 只能取到那一行的高度, 約20px, 這時如何還想取到整個頁面的高度, 就要用document.documentElement.clientHeight 來獲取了.原因是: 在HTML 中, body 是整個DOM 的根, 而在XHTML 中, document 才是根, body 不再是根, 所以取body 的屬性時, 不能再取到整個頁面的值.區別新舊標準的行是:<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0 Transitional//EN” ><!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ““>前者指明該頁面使用舊標準, 後者指明該頁面使用新標準.總結:XHTML中用 document.documentElement.clientHeight 代替9.獲取滾動距離的函式,可直接呼叫___getPageScroll()函式來獲取陣列,或自己除錯成相應的物件。function ___getPageScroll() { var xScroll, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; xScroll = self.pageXOffset; } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; xScroll = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers yScroll = document.body.scrollTop; xScroll = document.body.scrollLeft; } arrayPageScroll = new Array(xScroll,yScroll); return arrayPageScroll;};二。jQ獲取1.獲取第一個div的寬高$("div").width()$("div").height()2.獲取padding+content的寬高$("div").innerWidth()$("div").innerHeight()3.獲取content+padding+border+margin的寬高$("div").outerHeight()$("div").outerWidth()4.獲取當前元素的相對視窗偏移量(position:relative下的子元素)$("p").offset().top$("p").offset().left5.獲取捲軸scrollLeft()scrollTop()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2249/viewspace-2816975/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js/jq 獲取網頁寬高JS網頁
- 線上直播原始碼,js獲取捲軸的位置原始碼JS
- 最全的獲取元素寬高及位置的方法
- 你真的懂js獲取可視區寬高嗎JS
- 可視區、標籤寬高的獲取
- JS獲取元素寬高的兩種情況JS
- JS,Jquery獲取各種螢幕的寬度和高度JSjQuery
- 捲軸樣式
- css加捲軸的方法CSS
- 成品直播原始碼,JAVA獲取圖片的寬、高和大小原始碼Java
- js 獲取可視介面的高度或寬度JS
- 原生js和jq的延時提醒框 (QQ頭像為例)JS
- js的函式和物件JS函式物件
- ProTable修改捲軸樣式
- mysql視窗函式中的滑動視窗MySql函式
- JS陣列at函式(獲取最後一個元素的方法)介紹JS陣列函式
- SQL 視窗函式SQL函式
- Mysql視窗函式MySql函式
- Hive視窗函式Hive函式
- PostgreSQL:視窗函式SQL函式
- jq 物件的 attr 和 data 方法物件
- CSS 讓捲軸不佔用螢幕寬度CSS
- CefSharp自定義捲軸樣式
- PostgreSQL>視窗函式的用法SQL函式
- layer父介面呼叫子彈窗的方法和獲取子彈窗的元素值總結
- Oracle分析函式與視窗函式Oracle函式
- zblog獲取GET/POST等值函式“GetVars”引數和使用方法介紹函式
- 短視訊平臺原始碼,Android獲取螢幕的高度和寬度原始碼Android
- JS學習理解之閉包和高階函式JS函式
- Unity從圖片的位元組資料裡面獲取圖片的寬和高Unity
- js的curry和函式組合JS函式
- JS函式節流和函式防抖JS函式
- hive視窗函式使用Hive函式
- 原生JS和jQuery分別使用jsonp來獲取“當前天氣資訊”jQueryJSON
- Flutter 中獲取螢幕以及 Widget 的寬高Flutter
- 常用JS函式-陣列扁平化,快取函式,柯里化函式,防抖和節流函式JS函式陣列快取
- hive視窗分析函式使用詳解系列二之分組排序視窗函式Hive函式排序
- dotnet 在 UNO 裡獲取 X11 視窗指標的方法指標