js获取offsettop,offsetleft,和其他元素的属性



obj.clientwidth / /获取元素的宽度

obj.clientheight / /元素的高度

obj.offsetleft / /左元素相对于父元素

obj.offsettop / /顶级元素相对于父元素

obj.offsetwidth / /元素的宽度

obj.offsetheight / /元素的高度

差异uff1a

clientwidth =宽+填充

自己=高度+填充

offsetwidth =宽+填料+边界

offsetheight =宽+填料+边界

偏移量比客户机边界多。


获取坐标元素(相对于窗口)
功能公司(e){
无功补偿= e.offsettop;
如果(e.offsetparent!= null)偏移+ =公司(e.offsetparent);
返回偏移;
}
让 / /横坐标元素(相对于窗口)
功能getLeft(e){
无功补偿= e.offsetleft;
如果(e.offsetparent!= null)偏移+ = getLeft(e.offsetparent);
返回偏移;
}


之前也写了一篇关于JS元素位置的文章:JS元素offsettop,offsetleft和其他属性,我们可以得到相对的窗口位置的元素通过offsettop和offsetleft性质,但offsettop和offsetleft性能相对于父元素定位,通常的元素的位置不在外层,所以抵消属性元素不需要遍历的效率是一个问题的优越性。


获取坐标元素(相对于窗口)
功能公司(e){
无功补偿= e.offsettop;
如果(e.offsetparent!= null)偏移+ =公司(e.offsetparent);
返回偏移;
}
让 / /横坐标元素(相对于窗口)
功能getLeft(e){
无功补偿= e.offsetleft;
如果(e.offsetparent!= null)偏移+ = getLeft(e.offsetparent);
返回偏移;
}



幸运的是,浏览器为我提供了相应的getboundingclientrect接口,该方法首先出现在IE浏览器,浏览器将在该方法的支持后,也更加的完善,即只能访问到左侧,顶部,底部,权利属性的元素,和现代的浏览器可以访问元素的宽度和





铬
火狐(火狐)
Internet Explorer
歌剧
游猎


一
3(1.9)
四
(是的)
四





我们应该注意的是,底部是窗口底部和窗口顶部之间的距离,而不是CSS相对于窗口底部的底部。同样,权利属性是从元件的右侧,左侧的窗口的距离。


VaR箱= document.getelementbyid(盒子);
VaR POS = box.getboundingclientrect();
box.innerhtml =:+ pos.top +
左pos.left + +
底:pos.bottom + +
右pos.right + +
宽度+ pos.width +
高+ pos.height


原创文章,转载请注意:转载自前端开发。