最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用 getBoundingClientRect( ) 函數(shù)與 getComputedStyle( ) 函數(shù)獲取網(wǎng)頁元素的坐標

2023-07-25 16:11 作者:Mr藍琿  | 我要投稿

JavaScript 的強大總是待發(fā)掘的,它是未來在大多數(shù)應(yīng)用場合不可忽視的語言。


下圖展示了一個 DIV 元素,如何獲得1、2、3、4各個位置的坐標呢?

DIV 元素


首先用 document.querySelector() 獲得這個元素。這個元素是個對象,自帶了重要的方法 getBoundingClientRect(), 其返回值包含這個元素外框的x、y、right、bottom 四個值。Smart。


x 代表元素外框左上角距離瀏覽器窗口左側(cè)的距離, y 代表元素外框左上角距離瀏覽器窗口上側(cè)的距離;right 代表元素外框右下角距離瀏覽器窗口左側(cè)的距離,bottom 代表元素外框右下角距離瀏覽器窗口上側(cè)的距離。這樣,就可以直接獲得點1、2的坐標了。


輸出點1、2的坐標


點3、4 的坐標難計算一點。需要獲取邊框的厚度信息,可以用 getComputedStyle() 去 CSS 獲取。 borderXWidth 是個字符串(比如 "5px"), 需要先將其轉(zhuǎn)為數(shù)字。為此,需要先剝離 px, 然后將剩下的字符串用 parseFloat() 函數(shù)轉(zhuǎn)為浮點數(shù)。


輸出點3、4的坐標


// Suppose you have already got the DIV element, elem.

console.log(elem.getBoundingClientRect().x, elem.getBoundingClientRect().y); ?// 1

console.log(elem.getBoundingClientRect().right, elem.getBoundingClientRect().bottom); // 2

const style = getComputedStyle(elem); // get CSS values

console.log(elem.getBoundingClientRect().x + parseFloat(stripPx(style.borderLeftWidth)), elem.getBoundingClientRect().y + parseFloat(stripPx(style.borderTopWidth))); // 3

console.log(elem.getBoundingClientRect().right - parseFloat(stripPx(style.borderRightWidth)), elem.getBoundingClientRect().bottom - parseFloat(stripPx(style.borderBottomWidth))); // 4


使用 getBoundingClientRect( ) 函數(shù)與 getComputedStyle( ) 函數(shù)獲取網(wǎng)頁元素的坐標的評論 (共 條)

分享到微博請遵守國家法律
师宗县| 南开区| 沅江市| 东丽区| 正安县| 黄浦区| 逊克县| 梧州市| 招远市| 隆回县| 南京市| 襄城县| 周至县| 武宣县| 松滋市| 鄱阳县| 平顶山市| 肥乡县| 特克斯县| 车致| 漾濞| 太谷县| 威宁| 萨迦县| 犍为县| 藁城市| 友谊县| 临颍县| 宜君县| 宁波市| 买车| 洛阳市| 淮滨县| 松溪县| 抚远县| 马关县| 青州市| 岑巩县| 黄梅县| 麦盖提县| 喜德县|