javascript - 垂直对齐 - 基础 5 - 简单的 Javascript

标签 javascript jquery css zurb-foundation vertical-alignment

我使用了解释的技术 here (js.fiddle link)实现我页面上某个部分的垂直对齐。

我遇到的问题是我想在页面的不同部分重复使用相同的技术。

目前这是有效的,但显然第一个实例的高度然后被应用到其他地方完全不相关的部分,并且没有实现垂直对齐。有人可以帮我修改 js(也许使用“this”吗?)以允许使用相同的代码将高度应用于我页面不同部分的不同元素?

或者每次我想使用它时都必须用不同的 var/class 名称复制这段代码吗?

下面的代码片段

HTML

<div class="row row_v_align">
  <div class="small-3 columns column_v_align">
    <div class="v_align"><img src="spade.png"></div>
  </div>
  <div class="small-9 columns">
    <h3>Title</h3><p>Content</p>
  </div>
</div>
<div class="row row_v_align">
  <div class="small-3 columns column_v_align">
    <div class="v_align"><img src="bullsEye.png"></div>
  </div>
  <div class="small-9 columns">
    <h3>Title</h3><p>Content.</p>
  </div>
</div>

CSS

.row_v_align {
  display: table;
}
.v_align {
  display: table-cell;
  vertical-align: middle;
}

JS

$(window).on("resize", function () {
  var rowHeight = $(".row_v_align").height();
  console.log(rowHeight);
  $(".column_v_align").height(rowHeight);
  $(".v_align").height(rowHeight);
}).resize();

最佳答案

我用你链接的 fiddle 测试了下面的代码。

$(document).ready(function(){
    $(".row").each(function(){
        var rowHeight = $(this).height();
        console.log(rowHeight);
        $(".column", this).height(rowHeight);
        $(".v_align", this).height(rowHeight);
    });
});

所以这对你来说应该有效:

$(window).on("resize", function () {
  $(".row_v_align").each(function(){
    var rowHeight = $(this).height();
    console.log(rowHeight);
    $(".column_v_align", this).height(rowHeight);
    $(".v_align", this).height(rowHeight);
  });
}).resize();
  • each() 为每个匹配的元素运行函数
  • $("...", this) 确保在当前行内进行更改

关于javascript - 垂直对齐 - 基础 5 - 简单的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20938696/

相关文章:

html - 隐藏 Rails 上 will_paginate 函数中使用的 "..."

javascript - D3 元素被删除,尽管我只是添加新元素

javascript - 使用 Google 云端硬盘图像替换 Google 文档表格单元格中的占位符文本标签

javascript - PHP session 变量不通过 AJAX 调用持久化

javascript - Morris.js 与 codeigniter 不显示数据

html - 支持所有设备和浏览器的移动导航 : but what's its name?

javascript - 向每行添加唯一 id 以根据列值隐藏/显示表行 - Laravel - javascript

javascript - 如何使用 Express 和 Node.js 从表单发送参数

jquery - Bootstrap 导航栏宽度的动画

javascript - 如何使用 css 和 js 修复除法..?