Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 jQuery设置div高度_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jQuery设置div高度

Javascript jQuery设置div高度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,使用下面的函数,我可以使用特定的类将div设置为最大高度,但是我需要调整它,以便动态设置每行的高度 示例: .menuBoxesParagraph{ width: 25%; border: 10px solid #000; margin: 2% 1% 0px 0px; padding: 5px; text-align: center; } .menuBoxesParagraph:before, .menuBoxesParagraph:after { con

使用下面的函数,我可以使用特定的类将div设置为最大高度,但是我需要调整它,以便动态设置每行的高度

示例:

.menuBoxesParagraph{
    width: 25%;
    border: 10px solid #000;
    margin: 2% 1% 0px 0px;
    padding: 5px;
    text-align: center;
}
.menuBoxesParagraph:before, .menuBoxesParagraph:after { content: ""; display: table; }
.menuBoxesParagraph:after { clear: both; }
.menuBoxesParagraph { zoom: 1; }
行中的
menuBoxesParagraph
框的高度可能与
rowX中的框的高度不同
我需要能够获得每个行的
最大值然后能够根据
max
的值设置行高-我可能有一个298px高的.menuboxSparagraph框-这将是该特定行中的最高框-行高应为该高度

<div class="row">
    <div class="menu1 menuBoxesParagraph">
        <p>Content Row</p>
    </div>
</div>

<div class="rowX">
    <div class="menu1 menuBoxesParagraph">
        <p>Content Row X</p>
    </div>
</div>
CSS:

.menuBoxesParagraph{
    width: 25%;
    border: 10px solid #000;
    margin: 2% 1% 0px 0px;
    padding: 5px;
    text-align: center;
}
.menuBoxesParagraph:before, .menuBoxesParagraph:after { content: ""; display: table; }
.menuBoxesParagraph:after { clear: both; }
.menuBoxesParagraph { zoom: 1; }
您只需替换:

$(document).ready(function() {
      var max = -1;
    $('.menuBoxesParagraph').each(function() {
        var h = $(this).outerHeight(); 
        max = h > max ? h : max;   

        $(this).css("height",max+"px");
   });
});

您好,您需要在脚本中进行更改,因为您需要将高度应用于每一行,并且您已经将css应用代码放在了范围之外,在这里您可以获得每一行的DOM元素,我已经给出了示例演示代码

另一件事是必须将三元条件包装在 用于检查值比较的括号

这是你需要找的零钱

退房

$(文档).ready(函数(){
var max=-1;
$('.menuBoxesParagraph')。每个(函数(){
var h=$(this.outerHeight();
最大值=(h>最大值)?h:最大值;
$(“.menuBoxesParagraph”).css(“高度”,max+“px”);
});

});
您将
边框
填充
CSS设置为
.menuBoxesParagraph
,因此要计算它的实际高度,您应该使用
outerHeight()
函数。当我取消重新启动时,您希望有行,它们的高度设置为最大高度
.menuboxSparagraph
,因此对于每个
,您应该将此函数调用为.like

$(文档).ready(函数(){
var max=-1;
$('.row.menuBoxesParagraph')。每个(函数(){
var h=$(this.outerHeight();
max=h>max?h:max;
});
$(.row.menuBoxesParagraph”).outerHeight(最大值+“px”);
$(“.row”).css(“高度”,max+“px”);
var max1=-1;
$('.row1.menuBoxesParagraph')。每个(函数(){
var h=$(this.outerHeight();
max1=h>max1?h:max1;
});
$(.row1.menuBoxesParagraph”).outerHeight(max1+“px”);
$(.row1”).css(“高度”,max1+“px”);
var max2=-1;
$('.row2.menuBoxesParagraph')。每个(函数(){
var h=$(this.outerHeight();
max2=h>max2?h:max2;
});
$(.row2.menuBoxesParagraph”).outerHeight(max2+“px”);
$(“.row2”).css(“高度”,max2+“px”);
var max3=-1;
$('.row3.menuBoxesParagraph')。每个(函数(){
var h=$(this.outerHeight();
max3=h>max3?h:max3;
});
$(.row3.menuBoxesParagraph”).outerHeight(max3+“px”);
$(.row3”).css(“高度”,max3+“px”);

});您所需要的就是分别制作每行高度相等的方框,对吗?如果是这样的话,那么这段代码就可以了

您所需要做的就是将每一行框分别分组,然后应用高度逻辑

var rowsArr=[]
var boxesArr=[]
var prevParent;
allBoxes=$('.menuBoxesParagraph')
allBoxes.each(function(i) {
    if(prevParent && prevParent[0]!=$(this).parent()[0]){
        rowsArr.push(boxesArr.slice())
        boxesArr=[]
    }
    boxesArr.push($(this)[0]);
    prevParent=$(this).parent();
    if(i==allBoxes.length-1){
        rowsArr.push(boxesArr.slice())
    }
});

for(i=0;i<=rowsArr.length;i++){
    thisBoxes=$(rowsArr[i])
    var max = -1;
    thisBoxes.each(function() {
        var h = $(this).height(); 
        max = h > max ? h : max;   
    });
    thisBoxes.css("height",max+"px");
}
var rowsar=[]
var boxesar=[]
var-prevParent;
所有框=$(“.menuBoxesParagraph”)
所有框。每个(功能(i){
if(prevParent&&prevParent[0]!=$(this.parent()[0]){
rowsar.push(boxesar.slice())
拳击手=[]
}
boxesArr.push($(此)[0]);
prevParent=$(this.parent();
if(i==allBoxes.length-1){
rowsar.push(boxesar.slice())
}
});
对于(i=0;i max?h:max;
});
css(“高度”,max+“px”);
}

您所说的“动态设置每行的高度”是什么意思,其实我没有得到it@ShirinAbdolahi我可能有一个
.menuBoxesParagraph
框,它的高度是
298px
高-这将是该特定行中的最高框-行高度应该是如此之高-您在每个
行中都有一个以上的
.menuBoxesParagraph
?如果将
row
height设置为最大高度,则不会显示所有
menuBoxesParagraph
esStill not correct-我可能有一个.menuBoxesParagraph框,高度为298px-这将是该特定行中的最高框-行高应为该高度,你修好了吗issue@JessMcKenzie请查看我的答案,但我在演示中尝试添加更多内容,它调整了两个框。“行”没有被考虑在内:-我可能有一个298px高的.menuboxSparagraph框-这将是该特定行中的最高框-行高度应该是height@JessMcKenzie你想用哪一个元素来表示高度?我刚刚用了你只给出的,所以你能让我先弄清楚吗,你越来越近了,不管它是怎么从父母那里得到的,就像它应该是一样,但是在我给的上面有一个div,它被归类为父母,而不是我的“行”。在这种情况下,每一行的最大高度都是
。menuBoxesParagraph
。这是你想要的@JessMcKenzie吗?我使用'outerHeight()`函数来计算添加到
的边框和填充。menuboxSparagraph
too它似乎没有将高度应用到段落中-我真的没有得到你想要的。在你的jsfiddle
中。行
高度设置为
380px
。你到底想要什么?或者,为什么要设置行的高度?也许如果你告诉我原因,我会得到你想要的