javascript - 根据标签内内容的高度重新计算容器 div 的高度

标签 javascript jquery html css jquery-ui

我有一个页面,左侧有一个粘性图像边栏,右侧有不同高度的选项卡式内容。 The problem I run into is that the sticky sidebar is overflowing it's container when a shorter tab has been selected.

可以通过单击选项卡 2 并向下滚动页面来观察此行为。左侧的图像不应溢出到页脚中。选项卡 1 显示了正确的行为。

这是一个代码示例:http://codepen.io/anon/pen/gayMjx

  <section class="js-pin-container">
<div class="row">
  <div class="left-col">
    <div class="js-pin-content">
      <img src="http://placehold.it/250x250">
    </div>
  </div>
  <div class="right-col">
    <div id="tabs">
      <ul>
        <li><a href="#tabs-1">tab 1</a></li>
        <li><a href="#tabs-2">tab 2</a></li>
        <li><a href="#tabs-3">tab 3</a></li>
      </ul>
      <div id="tabs-1">
        <p style="background: silver; height: 900px;">This dive is 900px tall.</p>
      </div>
      <div id="tabs-2">
        <p style="background: silver; height: 600px;">This dive is 600px tall.</p>
      </div>
      <div id="tabs-3">
        <p style="background: silver; height: 1200px;">This dive is 1200px tall.</p>
      </div>
    </div>
  </div>
</div>

最佳答案

问题是 pin 仅在调整窗口大小时更新其限制 (recalculateLimits),而不是在容器内容更改时更新。您可以使用变通方法,以便每次打开新选项卡时都会触发 window 调整大小事件。换句话说,您可以更改 tabs 插件的初始化:

$( "#tabs" ).tabs();

收件人:

$( "#tabs" ).tabs({
  activate:function(){
    $(window).resize();
  }
});

给你:http://codepen.io/anon/pen/OyYyag

关于javascript - 根据标签内内容的高度重新计算容器 div 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830875/

相关文章:

javascript - 循环 ForEach 之前等待确认

javascript - AS3 中的悬停缩放

javascript - 拖放 jquery

javascript - jqgrid 服务器控件的每次回发都会调用 ashx 文件

html - 使用 CSS 使悬停在一个对象上影响另一个对象

JavaScript 循环和步骤

javascript - 在窗口大小调整时调整 iframe 的宽度

javascript - jQuery : Increase the size of datepicker widget

HTML 类型 ="email"错误消息语言更改

css - HTML5 + CSS 和设置 <HEADER> 的宽度