Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 每行等高列_Javascript_Jquery - Fatal编程技术网

Javascript 每行等高列

Javascript 每行等高列,javascript,jquery,Javascript,Jquery,我在我的网站上使用Bootstrap,我添加了一些jQuery,使每一列成为最高的列的高度。这可以正常工作,但问题是高度不是特定于行的。因此,高度将设置为整个页面中最高的元素。如何更改此代码以使其仅将行中的每个元素设置为同一行中最高的元素 $(函数(){ 功能相等高度(组){ var maxHeight=0; 组。每个(函数(){ $(this.removeAttr('style'); maxHeight=Math.max(maxHeight,$(this.height()); }); css

我在我的网站上使用Bootstrap,我添加了一些jQuery,使每一列成为最高的列的高度。这可以正常工作,但问题是高度不是特定于行的。因此,高度将设置为整个页面中最高的元素。如何更改此代码以使其仅将行中的每个元素设置为同一行中最高的元素

$(函数(){
功能相等高度(组){
var maxHeight=0;
组。每个(函数(){
$(this.removeAttr('style');
maxHeight=Math.max(maxHeight,$(this.height());
});
css({height:maxHeight+'px'});
}
等高($('.equal'));
});
.equal{
背景:黄色;
边缘底部:40px;
}

Lorem ipsum dolor sit amet,是一位杰出的献身者。
不要让智者坐在那里。在《福西布斯》中,猫咪的调味品是蜗壳,猫咪的口头禅是酒后驾车。Suspendisse faucibus neque在马萨元素酒店。
Lorem ipsum dolor sit amet,是一位杰出的献身者。阿利夸姆调味品奥迪奥·维利特,以淡紫色为调味品。
所有高度均基于本栏:苏打水预示着排卵期孕妇。毛里斯·鲁特姆、发酵猫、猫门益普生、智人之龟。在厄洛斯·马莱苏阿达,设施是埃尼姆·埃吉特,帕特·泰勒斯。在厄尔纳苏西比特拍卖行的accumsan odio。整型艾库利斯狮子座阿梅特猫咪苏打水。发酵液中的白葡萄酒。在欧洲东部地区,不要有效率。这是一只猫科动物。这是一个很好的例子,一个很好的例子,一个很好的例子。二者的功效最大,维韦拉的饮食最重要。
高高在上。
毛里斯·马萨·奎姆(Mauris massa quam),未怀孕的tincidunt,维韦拉(viverra)的排卵期。Lorem ipsum dolor sit amet,是一位杰出的献身者。
Lorem ipsum dolor sit amet,是一位杰出的献身者。
无威尼斯人的智囊,以及普通芸香。这是一种调味品。紫背天牛。以爱神的方式前进。mauris,nec egestas augue vulputate ac.的交通工具。

Jquery中有一个插件

看看这个

$('.equal').equalHeights();

CSS解决方案:

您可以将父级
div
设置为
display:flex
。在这种情况下,CSS将如下所示:

.row {
  display: flex;
}
例如:

Javascript解决方案:

在Javascript解决方案中,我使用类
equal
循环遍历每个
,而不是使用所述类循环遍历

这将确保我们的范围在
行中,而不是所有可用的
列中

function equalizeHeight(group) {
  var maxHeight = 0;
  group.each(function(index) {
    var divHeight = $(this).height();
    if(divHeight > maxHeight) {
      maxHeight = divHeight;
    }
  });

  group.css('height', maxHeight);
}
可以这样调用此函数:

$('.equal').each(function() {
  equalizeHeight($(this).children('div'));
});

检查此链接我不想使用插件,不过谢谢你的建议。好吧,我认为这不是一个大插件(函数($){$.fn.equalHeights=function(){var maxHeight=0,$this=$(this);$this.each(函数(){var height=$(this).innerHeight();如果(height>maxHeight){maxHeight=height;}};返回$this.css('height',maxHeight);};//自动初始化插件$('[data equal]')。每个(函数(){var$this=$(this),target=$this.data('equal');$this.find(target.equalheight();});})(jQuery);它只有4-5行代码文件src:不幸的是,这不起作用,因为我需要支持ie9+