js 獲取圖像縮放后的實(shí)際寬高,位置等信息
項(xiàng)目中遇到圖片實(shí)際顯示尺寸的判定問(wèn)題,圖片可能被縮放過(guò),所以實(shí)際顯示的寬高無(wú)法通過(guò)常見的各種width,height拿到(都是得到圖像的自然寬度或者字面寬度,并非實(shí)際顯示結(jié)果)
在網(wǎng)上百度了一大圈也沒有找到,今天早上偶然找到2個(gè)很方便的方法:
object.getClientRects();和object.getBoundingClientRect();
可以輕易獲得當(dāng)前元素的絕對(duì)位置(不含scrollLeft和scrollTop,需要用的話單獨(dú)加上去)和顯示出來(lái)的實(shí)際寬高
getClientRects 和 getBoundingClientRect 的區(qū)別
getClientRects 返回一個(gè)TextRectangle集合,就是TextRectangleList對(duì)象。
getBoundingClientRect 返回 一個(gè)TextRectangle對(duì)象,即使DOM里沒有文本也能返回TextRectangle對(duì)象.
瀏覽器差異:
除了safari,firefox2.0外所有瀏覽器都支持getClientRects和getBoundingClientRect,
firefox 3.1給TextRectangle增加了 width 和 height。
ie 和非ie瀏覽器在使用getClientRects還是有些差別的,ie獲取TextRectangleList的范圍很大。而非ie獲取的范圍比較小, 只有display:inline的對(duì)象才能獲取到TextRectangleList,例如em i span 等標(biāo)簽。
通過(guò)測(cè)試,至少Chrome 2+\Safari 4\Firefox3.5\0pera 9.63+已經(jīng)支持getBoundingClientRect方法。
出于瀏覽器兼容的考慮,現(xiàn)在用得最多的是getBoundingClientRect,經(jīng)常用來(lái)獲取一個(gè)element元素的viewport坐標(biāo)。
MDN關(guān)于getBoundingClientRect的詳細(xì)介紹:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/getBoundingClientRect
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
解析利用javascript如何判斷一個(gè)數(shù)為素?cái)?shù)
本文主要分享了利用javascript如何判斷一個(gè)數(shù)為素?cái)?shù)的具體實(shí)例代碼,有需要的朋友可以作為參考看下2016-12-12
JavaScript學(xué)習(xí)筆記之?dāng)?shù)組求和方法
這篇文章主要介紹了JavaScript學(xué)習(xí)筆記之?dāng)?shù)組求和方法的相關(guān)資料,需要的朋友可以參考下2016-03-03
js捕獲鼠標(biāo)右鍵菜單中的粘帖事件實(shí)現(xiàn)代碼
突發(fā)奇想比如點(diǎn)擊菜單中的粘帖后事件如何捕獲,如下圖所示,用的jQuery中的paste事件,如想獲得粘帖文本要使用setTimeout控制下時(shí)間,感興趣的朋友可以參考下2013-04-04
淺析JS中對(duì)函數(shù)function的理解(基礎(chǔ)篇)
我們知道,在js中,函數(shù)實(shí)際上是一個(gè)對(duì)象,每個(gè)函數(shù)都是Function類型的實(shí)例,并且都與其他引用類型一樣具有屬性和方法。下面給大家談下對(duì)JS中函數(shù)function的理解,一起看看吧2016-10-10
Javascript調(diào)試之console對(duì)象——你不知道的一些小技巧
這篇文章主要總結(jié)了console對(duì)象的一些有用的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-07-07
JavaScript 驗(yàn)證碼的實(shí)例代碼(附效果圖)
JavaScript 驗(yàn)證碼的實(shí)例代碼(附效果圖),需要的朋友可以參考一下2013-03-03
ES6數(shù)組與對(duì)象的解構(gòu)賦值詳解
這篇文章主要介紹了ES6數(shù)組與對(duì)象的解構(gòu)賦值,結(jié)合實(shí)例形式詳細(xì)分析了ES6中數(shù)組與對(duì)象的解構(gòu)賦值原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06

