Javascript 如果是父项';s高度div高于X,则显示此div

Javascript 如果是父项';s高度div高于X,则显示此div,javascript,html,css,Javascript,Html,Css,我试图在另一个div中显示一个div,如果父级的高度大于,比如650px: 这可以通过JQuery使用height()方法轻松完成。我在您的.child中添加了一个ID,以便我们可以使用文档。getElementById到显示:block和显示:none 尝试以下操作:(只需将父高度值更改为高于650px和低于650px即可进行测试。) var parent=$(“.parent”).height(); 如果(父项>650){ document.getElementById(“子”).st

我试图在另一个div中显示一个div,如果父级的高度大于,比如650px:



这可以通过JQuery使用
height()
方法轻松完成。我在您的
.child
中添加了一个ID,以便我们可以使用
文档。getElementById
显示:block
显示:none

尝试以下操作:(只需将父高度值更改为高于650px和低于650px即可进行测试。)

var parent=$(“.parent”).height();
如果(父项>650){
document.getElementById(“子”).style.display=“块”;
}
#孩子{
显示:无;
}
.家长{
身高:651px;
}

如果父级大于650px,则需要显示该值

使用JQuery,使用
height()
方法,可以轻松地完成此操作。我在您的
.child
中添加了一个ID,以便我们可以使用
文档。getElementById
显示:block
显示:none

尝试以下操作:(只需将父高度值更改为高于650px和低于650px即可进行测试。)

var parent=$(“.parent”).height();
如果(父项>650){
document.getElementById(“子”).style.display=“块”;
}
#孩子{
显示:无;
}
.家长{
身高:651px;
}

如果父级大于650px,则需要显示该值

我知道您要求使用一种仅使用CSS的方法,但您的问题被标记为
javascript
-因此您得到了一个javascript解决方案:

HTML:
Element.clientHeight
用于获取元素高度,包括填充,但不包括水平滚动条高度、边框或边距。在MDN文档中阅读更多关于它的信息

无论何时要检查父项的高度,请调用函数
checkHeight()


更新:如果您使用的是类:

我知道您要求使用仅使用CSS的方法,但您的问题被标记为
javascript
-因此您得到了一个javascript解决方案:

HTML:
Element.clientHeight
用于获取元素高度,包括填充,但不包括水平滚动条高度、边框或边距。在MDN文档中阅读更多关于它的信息

无论何时要检查父项的高度,请调用函数
checkHeight()


更新:如果您使用的是类:

一个Javascript解决方案,它可以连续监视父对象的高度。因此,如果您通过Ajax向父元素中插入任何其他元素,那么一旦达到设置的高度限制,就会立即显示子元素

const parent=document.getElementsByClassName(“父项”)[0];
const child=document.getElementsByClassName(“child”)[0];
document.addEventListener(“调整大小”,选中父项);
设lastHeight=0;
/* 
按钮和演示仅用于演示目的
*/
const demo=document.getElementById(“demo”);
const button=document.getElementsByTagName(“按钮”)[0];
button.onclick=()=>demo.style.height=“101px”;
函数checkParent(){
const parentHeight=parent.clientHeight;
/* 
例如,高度为100
这显然可以设置为任何所需的值
*/
如果(parentHeight>=100)child.style.display=“block”;
}
/* 
持续监测父母的身高
*/
函数checkForChanges(){
const parentHeight=parent.clientHeight;
if(parentHeight!=lastHeight){
checkParent();
lastHeight=父高度;
}
设置超时(检查更改,500);
}
checkForChanges()
.child{
显示:无;
}

如果父母的身高大于100px,则需要显示这一点
点击我

一种Javascript解决方案,可连续监控父对象的高度。因此,如果您通过Ajax向父元素中插入任何其他元素,那么一旦达到设置的高度限制,就会立即显示子元素

const parent=document.getElementsByClassName(“父项”)[0];
const child=document.getElementsByClassName(“child”)[0];
document.addEventListener(“调整大小”,选中父项);
设lastHeight=0;
/* 
按钮和演示仅用于演示目的
*/
const demo=document.getElementById(“demo”);
const button=document.getElementsByTagName(“按钮”)[0];
button.onclick=()=>demo.style.height=“101px”;
函数checkParent(){
const parentHeight=parent.clientHeight;
/* 
例如,高度为100
这显然可以设置为任何所需的值
*/
如果(parentHeight>=100)child.style.display=“block”;
}
/* 
持续监测父母的身高
*/
函数checkForChanges(){
const parentHeight=parent.clientHeight;
if(parentHeight!=lastHeight){
checkParent();
lastHeight=父高度;
}
设置超时(检查更改,500);
}
checkForChanges()
.child{
显示:无;
}

如果父母的身高大于100px,则需要显示这一点
点击我

宽度或高度是否大于650px?这可以通过一些js.parent的高度来完成。后编辑!宽度或高度大于650px?这可以通过一些js.parent的高度来完成。后编辑!我认为OP的问题是使用CSS而不是jquery来实现这一点。这将只运行一次,并且它将在硬编码的CSS高度下工作。它在调整窗口大小时不起任何作用。这不是硬编码的css高度,而是用于测试目的。因此,如果他将其设置为651px,它将显示,而当他将其设置为649px时,它将不显示。这是为了证明代码有效,他可以在测试完成后删除CSS。请从CSS中删除父级高度,然后尝试调整窗口大小。您将看到,它将检查加载时的父级高度,但如果您调整窗口大小,使.parent类小于650px,则子级仍将显示。我认为OP的问题是使用CSS而不是jquery来执行此操作。这将只运行一次,一个
<div id="parent">
   <div id="child">This needs to be shown if parent has a height greater than 650px</div>
</div>
function checkHeight() {
  var parentHeight = document.getElementById('parent').clientHeight;
  if (parentHeight > 650) {
    document.getElementById('child').style.display = "block";
  } else {
    document.getElementById('child').style.display = "none";
  }
}