Javascript 使用jquery使行中的列高度相等

Javascript 使用jquery使行中的列高度相等,javascript,jquery,html,multiple-columns,Javascript,Jquery,Html,Multiple Columns,我试图将行中的列设置为具有相同的高度,但该脚本似乎不起作用。它使我的列相等,但将高度设置为0px JS var EqualColumnHeight = { equalizeColumnHeights: function() { if ($( window ).width() > 720) { //$('.row .equal-height').equalHeights(); $('.equals .equal-height').each( functio

我试图将行中的列设置为具有相同的高度,但该脚本似乎不起作用。它使我的列相等,但将高度设置为0px

JS

var EqualColumnHeight = {
  equalizeColumnHeights: function() {
    if ($( window ).width() > 720) {
      //$('.row .equal-height').equalHeights();
      $('.equals .equal-height').each( function () {
        $(this).css('height', $(this).parent().height()+'px');
      });
    } else {
      $('.equals .equal-height').each(function() {
        $(this).css('margin-bottom', '40px');
      });
    }
  }
};

$(window).load(function () {
  EqualColumnHeight.equalizeColumnHeights();
});
.dark-box {
  background: rgba(9,31,38,.8);
  color: #fff;
  padding: 30px;
}
CSS

var EqualColumnHeight = {
  equalizeColumnHeights: function() {
    if ($( window ).width() > 720) {
      //$('.row .equal-height').equalHeights();
      $('.equals .equal-height').each( function () {
        $(this).css('height', $(this).parent().height()+'px');
      });
    } else {
      $('.equals .equal-height').each(function() {
        $(this).css('margin-bottom', '40px');
      });
    }
  }
};

$(window).load(function () {
  EqualColumnHeight.equalizeColumnHeights();
});
.dark-box {
  background: rgba(9,31,38,.8);
  color: #fff;
  padding: 30px;
}
HTML

<div class="row equals">
  <div class="five columns dark-box equal-height">
    <h2>Proin commodo metus id aliquam egestas</h2>
    <p>Donec lobortis elit nunc, vitae tristique odio dictum in. Curabitur risus dui, porta non malesuada id, dapibus et ex. Suspendisse euismod nec risus ac vehicula. Cras lobortis tellus id maximus laoreet. Sed sit amet aliquam ex, ut malesuada justo. Aliquam id lacus at leo faucibus interdum vel nec urna.</p>
  </div>
  <div class="five columns dark-box equal-height">
    <h2>Ut sed urna in elit consectetur laoreet</h2>
    <p>Etiam finibus dapibus urna, in eleifend lorem molestie a. Nulla tincidunt quis lectus sit amet tincidunt. Nunc vehicula feugiat leo, at pretium erat lacinia posuere. Mauris posuere odio non urna suscipit, vel imperdiet dolor fermentum. Etiam finibus scelerisque molestie. Aenean bibendum est lacus, ac sollicitudin est cursus ut. Nam sed ante vel nulla mollis tincidunt. Phasellus nec massa lacinia, accumsan velit sit amet, cursus mauris. Pellentesque ligula nulla, elementum ac risus in, volutpat efficitur odio. Nullam ut arcu venenatis, molestie mauris sit amet, egestas metus.</p>
  </div>
</div>

我们的共同目标是不平等的
Donec lobortis Elite nunc,这是我的至理名言。酒后驾车、非机动车辆、交通工具和交通工具。我的名字叫马克西姆·拉奥里特。这是我的前妻,也是我的前妻。利奥·福西布斯·因特杜姆·韦尔内·乌尔纳(leo faucibus interdum vel nec urna)的一个缺陷

我们在laoreet的elit Concertetur中看到了乌尔纳 埃蒂亚姆·菲尼布斯·达皮布斯·乌尔纳(Etiam finibus dapibus urna),在埃利芬德·洛雷姆·莫勒斯蒂(eleifend lorem molestie a)的著作中。我不知道你是谁。在拉齐尼亚-波苏尔的比勒蒂姆埃拉齐尼亚,利奥王朝的车辆。Mauris posuere odio non-urna suscipit,发酵液水平。Etiam finibus scelerisque molestie。爱是一种缺陷,爱是一种挑战。不,不,我不知道。我们的目标是实现和平,实现和平,实现和平。无舌苔,无舌苔,无舌苔,无舌苔,无舌苔。维尼那提之门,莫利斯之门,埃吉斯塔之门


我做了一点:

我在执行
$(窗口)时出错。加载
我必须将其更改为
$(文档)。准备好了吗

我还注意到,在每个循环中,父级高度都会发生变化

编辑:在那个例子中,div的高度实际上是相同的,但是父级的高度在它改变了子级之后发生了变化。所以我只是让它垂直与顶部对齐:

还要注意,您的窗口必须超过720像素。由于你的代码。这是一个没有窗口限制的JSFIDLE

完整代码,以防JSFIDLE不适用于您: jQuery:

CSS:


您的列可见吗?jQuery无法计算未连接到DOM或显示为可见的元素的高度。我将在上面的代码中添加CSS,它使我的列相等,但将高度设置为0px。“不,它不是。”约书亚·帕克我也没看到你们小提琴中的柱子有相同的高度。我错过什么了吗?我确实在我的代码中尝试了你的修复,现在它没有将高度设置为0,但列的高度也不相同你是对的@tjoenz我认为它加载正确,我会认真研究它quick@JoshuaPack这一条似乎只是将框排到底部,而彩色背景并不相等heights@tjoenzdiv的高度相等,但是它看起来像是父对象在改变高度后大小发生了变化,所以我不得不使用css
vertical align:text top现在你明白了。OP注意:为了简单起见,我会使用
height()
而不是
css()