Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取HTML元素';根据它的内容,它的高度是多少?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何获取HTML元素';根据它的内容,它的高度是多少?

Javascript 如何获取HTML元素';根据它的内容,它的高度是多少?,javascript,html,css,Javascript,Html,Css,我有一个react应用程序,它有一个包含div的组件,可以生成长文本。我有一个“Show description”按钮来展开这个长文本div。因此,在开始时,我将div高度设置为0px,当我单击Show description按钮时,div需要通过一些动画完全展开。 问题是,即使我将初始高度设置为0px,我也不确定如何根据内容设置展开高度。以下是我尝试的 descriptionExpanded = (expanded) => { this.setState({ descriptio

我有一个react应用程序,它有一个包含div的组件,可以生成长文本。我有一个“Show description”按钮来展开这个长文本div。因此,在开始时,我将div高度设置为0px,当我单击Show description按钮时,div需要通过一些动画完全展开。 问题是,即使我将初始高度设置为0px,我也不确定如何根据内容设置展开高度。以下是我尝试的

descriptionExpanded = (expanded) => {
    this.setState({ descriptionExpanded: expanded })
}

<div style={{ height: descriptionExpanded ? `60px` : '0px', transition: descriptionExpanded ? 'height 0.25s ease-in' : 'height 0.15s ease-out' }}>
    Long text...
</div>
<div onClick={() => this.descriptionExpanded(!descriptionExpanded)}>
    <span>{descriptionExpanded ? 'Hide Description' : 'Show Description'}</span>
</div>
descriptionExpanded=(扩展)=>{
this.setState({descriptionExpanded:expanded})
}
长文本。。。
this.descriptionExpanded(!descriptionExpanded)}>
{descriptionExpanded?'Hide Description':'Show Description'}
我需要将此“60px”设置为一个可变值,该值是整个文本中div的实际高度。当我尝试使用
“auto”
代替
“60px”
“100%”:“0%”代替像素时,显示/隐藏开关不工作。当我尝试使用
“100%”:“0px”
时,开关可以工作,但没有动画。我认为动画只适用于像素


如何才能正常工作?

获取元件高度和重量的一种方法如下:

 var clientHeight = document.getElementById('element_id').clientHeight;
 var clientWidth = document.getElementById('element_id').clientWidth;
值得一读