欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript與JQUERY獲取元素的寬、高和位置

 更新時間:2017年02月26日 16:52:15   投稿:hebedich  
文章給大家匯總整理了JavaScript以及jQuery獲取元素高寬和位置等信息的方法,非常的全面,小伙伴們可以記錄下以便查看

javascript中

ele.getBoundingClientRect():獲取一個元素相對于瀏覽器視口的的坐標(biāo)(無論父元素定位與否),返回一個Object對象,該對象有6個屬性:top/left/right/bottom/width/height。幾乎所有瀏覽器都支持該方法。jQuery中沒有直接的方法,需要用$(ele).offset().top-$(document).scrollTop()計算得到。

注意:right是指元素右邊界距窗口最左邊的距離,bottom是指元素下邊界距窗口最上面的距離。

pageYOffset 屬性是scrollY屬性的別名,設(shè)置或返回文檔在垂直方向滾動的像素值。window.pageYOffset == window.scrollY;前者瀏覽器兼容性更好。

所以獲取元素在頁面文檔中的位置:

var X= ele.getBoundingClientRect().left+scrollTop;

var Y =ele.getBoundingClientRect().top+scrollTop;
//在窗口的位置+文檔滾動掉的尺寸

為了跨瀏覽器兼容,文檔卷掉的長度請使用如下方式:

varscrollTop= document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

jQuery中

1.鼠標(biāo)相對于頁面的位置

event.pageX/event.pageY:鼠標(biāo)相對于頁面左/上邊緣的距離。

2.元素的位置偏移量

offset():返回包含top和left兩個屬性的對象,相對于document文檔的坐標(biāo)。

position():返回包含top和left兩個屬性的對象,相對于最近的已定位的包含元素的位置。若無,則相對于document。只對可見元素有效,注意ele{visibility:hidden}也屬于可見元素。

3.元素的寬高

width()/height():獲得或設(shè)置元素【內(nèi)容】的寬/高;若元素的display:none,其值為0。

innerWidth()/innerHeight():獲得包括內(nèi)邊距(padding)的元素寬度/高度,不包括邊框;

outerWidth()/outerHeight():獲得包括內(nèi)邊距(padding)和邊框(border)的元素寬度/高度;

outerWidth(true)/outerHeight(true):獲得整個元素的寬度/高度,包括外邊距、邊框、內(nèi)邊距和內(nèi)容;

注意:

1)ele.css("height"):返回帶有完整單位的字符串(例如400px),若運算需要parseInt轉(zhuǎn)換。ele.height():返回一個沒有單位的number數(shù)值(例如400)。

2)height()總是返回內(nèi)容寬度,不管CSS box-sizing屬性值。若CSS box-sizing為border-box,將造成這個函數(shù)改變這個容器的outerHeight,而不僅是原來的內(nèi)容高度。

4.瀏覽器相關(guān)寬高

$(window).height():獲取瀏覽器可視窗口的高度;

$(document).height():獲取整個網(wǎng)頁文檔的高度;當(dāng)網(wǎng)頁高度不足瀏覽器窗口時,返回的是$(window).height()。

$(document).scrollTop():document元素相對document元素對應(yīng)的滾動條頂部的垂直偏移量,可獲取已滾動的距離或設(shè)置將要滾動的距離。

即:當(dāng)網(wǎng)頁滾動條拉到最低端時,$(document).height() == $(window).height() + $(window).scrollTop()。

注意:不建議使用$("html").height()、$("body").height()這樣的方法獲取高度,原因有:

$("body").height():body可能會有邊框,獲取的高度會比$(document).height()小;

$("html").height():在不同的瀏覽器上獲取的高度會有差異,瀏覽器不兼容。

$(window).height()若返回的不是瀏覽器窗口的高度,可能是網(wǎng)頁沒有加上<!DOCTYPE>聲明。

相關(guān)文章

  • jquery ajax同步異步的執(zhí)行最終解決方案

    jquery ajax同步異步的執(zhí)行最終解決方案

    添加async:false.即修改為同步了,什么意思?按同事解釋就是,這是等這個ajax有了返回值后才會執(zhí)行下面的js一語道破天機(jī),怪不得以前很多ajax調(diào)用里面的賦值都不起作用
    2013-04-04
  • jQuery輪播圖效果精簡版完整示例

    jQuery輪播圖效果精簡版完整示例

    這篇文章主要介紹了jQuery輪播圖效果精簡版,結(jié)合完整實例形式分析了jQuery響應(yīng)鼠標(biāo)事件及針對頁面元素的遍歷操作相關(guān)技巧,需要的朋友可以參考下
    2016-09-09
  • 用jquery存取照片的具體實現(xiàn)方法

    用jquery存取照片的具體實現(xiàn)方法

    這篇文章介紹了用jquery存取照片的具體實現(xiàn)方法,需要的朋友可以參考一下
    2013-06-06
  • jQuery EasyUI 入門必看

    jQuery EasyUI 入門必看

    下面小編就為大家?guī)硪黄猨Query EasyUI 入門必看。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • juqery 學(xué)習(xí)之五 文檔處理 包裹、替換、刪除、復(fù)制

    juqery 學(xué)習(xí)之五 文檔處理 包裹、替換、刪除、復(fù)制

    這個函數(shù)的原理是檢查提供的第一個元素(它是由所提供的HTML標(biāo)記代碼動態(tài)生成的),并在它的代碼結(jié)構(gòu)中找到最上層的祖先元素--這個祖先元素就是包裹元素。
    2011-02-02
  • jQuery實現(xiàn)簡單彈幕效果

    jQuery實現(xiàn)簡單彈幕效果

    這篇文章主要為大家詳細(xì)介紹了jQuery實現(xiàn)簡單彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Jquery 方塊隨著鼠標(biāo)所在的區(qū)域而放大

    Jquery 方塊隨著鼠標(biāo)所在的區(qū)域而放大

    下面都是默認(rèn)一樣大小的方塊,當(dāng)鼠標(biāo)放到你想要放的位置,則當(dāng)前位置的方塊則放大。
    2010-05-05
  • 10分鐘學(xué)會寫Jquery插件實例教程

    10分鐘學(xué)會寫Jquery插件實例教程

    這篇文章主要介紹了10分鐘學(xué)會寫Jquery插件,通過一個實例分兩步完成一個簡單的插件,非常實用,需要的朋友可以參考下
    2014-09-09
  • jQuery+html5+css3實現(xiàn)圓角無刷新表單帶輸入驗證功能代碼

    jQuery+html5+css3實現(xiàn)圓角無刷新表單帶輸入驗證功能代碼

    這篇文章主要介紹了jQuery+html5+css3實現(xiàn)圓角無刷新表單帶輸入驗證功能代碼,加入了html5與css3技術(shù),使得整個表單效果更加唯美華麗,需要的朋友可以參考下
    2015-08-08
  • jQuery事件注冊的實現(xiàn)示范

    jQuery事件注冊的實現(xiàn)示范

    jQuery為我們提供了方便的事件注冊機(jī)制,它的優(yōu)點,操作簡單,且不用擔(dān)心事件覆蓋等問題。缺點,普通的事件注冊不能做事件委托,且無法實現(xiàn)事件解綁,需要借助其他方法
    2022-07-07

最新評論