2021-07-11【技术】js获取各种高度的方法

2021-07-11【技术】js获取各种高度的方法,第1张

//获取盒子的内容高度,内容高度也可用用boxclientHeight获取,内容高度不包括边框和外边距和滚动条

var box = documentgetElementById("box")

var contentHeight = windowgetComputedStyle(box)height //输出 '60px'

//js获取移动端屏幕高度和宽度等设备尺寸,兼容性比较好的方法

documentdocumentElementclientWidth;

documentdocumentElementclientHeight;

此外,还可以使用元素的点击事件来获取元素高度等内容。

JS认为HTML文件会被浏览器解析为文档流,写在HTML里面的所有标签元素都可以从文档流中读取到。基于这个理论,JS定义了一个document对象,专门用来处理文档流。

要想获取一个元素,有两种方式:一种是根据元素的类名(class属性值),另一种是根据元素的ID。假设有一个input元素,JS获取该元素的方式如下:

<input class="isInput" id="input_first">

var element=documentgetElementByClass("isInput")[0];或者

var element=documentgetElementById("input_first");

需要注意的是,根据类名获取到的是一个数组,必须要通过下标才能获取到具体的某个元素。而根据ID获取到的则是具体的元素,所以常用的方式是用ID来获取。

使用styleheight最坑的就是height必须使用行内样式,使用内联式和外嵌式是不行的

1height在 <style> 标签中设置,使用 styleheight 是获取不到值的

2使用外部导入的css同样也获取不到

3只有在行内才能获取到值

这个属性是只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。

clientHeight 可以通过 CSS height + CSS padding - 水平滚动条高度 (如果存在)来计算

可以使行内、内联和外嵌

HTMLElementoffsetHeight是一个只读属性,它返回该元素的像素高度,高度包含该元素的垂直内边距和边框,且是一个整数

用于判定元素是否滚动到底

如果元素滚动到底,下面等式返回true,没有则返回false

<html>

<head>

<title>js 获取div所填充内容的实际高度 </title>

</head>

<body>

<div id="div1">

百度知道是一个基于搜索的互动式知识问答分享平台,于2005年6月21日发布,并于2005年11月8日转为正式版。百度知道一直探索国际化发展,于2012年3月31日发布百度知道台湾版。

</div>

<button type="submit" onclick="test()">点击获取</button>

<script type="text/javascript">

function test() {  

        var oDiv = documentgetElementById('div1');  

        alert(oDivoffsetHeight);  

    }  

</script>

</body>

</html>

下面结合各上图介绍一下各个属性的作用:

一offsetTop属性:

此属性可以获取元素的上外缘距离最近采用定位父元素内壁的距离,如果父元素中没有采用定位的,则是获取上外边缘距离文档内壁的距离。所谓的定位就是position属性值为relative、absolute或者fixed。

返回值是一个整数,单位是像素。

此属性是只读的。

二offsetLeft属性:

此属性和offsetTop的原理是一样的,只不过方位不同,这里就不多介绍了。

三offsetWidth属性:

此属性可以获取元素的宽度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。

返回值是一个整数,单位是像素。

此属性是只读的。

四offsetHeight属性:

此属性可以获取元素的高度,宽度值包括:元素内容+内边距+边框。不包括外边距和滚动条部分。

返回值是一个整数,单位是像素。

此属性是只读的。

五clientWidth属性:

此属性可以返回一个元素的宽度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。

返回值是一个整数,单位是像素。

此属性是只读的。

六clientHeight属性:

此属性可以返回一个元素的高度值,值是:元素的内容+内边距。不包括边框、外边距和滚动条部分。

返回值是一个整数,单位是像素。

此属性是只读的。

七scrollLeft属性:

此属性可以获取或者设置对象的最左边到对象在当前窗口显示的范围内的左边的距离,也就是元素被滚动条向左拉动的距离。

返回值是一个整数,单位是像素。

此属性是可读写的。

八scrollTop属性: 

此属性可以获取或者设置对象的最顶部到对象在当前窗口显示的范围内的顶边的距离,也就是元素滚动条被向下拉动的距离。

返回值是一个整数,单位是像素。

以上就是关于2021-07-11【技术】js获取各种高度的方法全部的内容,包括:2021-07-11【技术】js获取各种高度的方法、js怎么获取一个元素、js获取元素的高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9535452.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存