javascript - 相对于页脚调整高度的固定位置 div

标签 javascript jquery html css

我在一个网站上工作,该网站有两个侧边栏和一个用于页面内容的中心包装器。侧边栏将有链接,将用户跳转到网页的相关部分。这些侧边栏有一个固定的位置,因此当用户向下滚动页面时它会跟随用户,但是当用户到达页面底部的页脚时,我希望侧边栏的高度缩小,这样页脚就不会阻塞链接那些侧边栏。

很难准确解释页面的布局方式,所以我将我的网站以基本形式放入 jsfiddle,链接 here .

<div class="left">Lorem Ipsum ...</div>
<div class="centre">centre</div>
<div class="right">Lorem Ipsum ...</div>
<div class="footer">footer</div>

我希望页脚(灰色)和侧边栏(红色)之间始终有 20 像素的边距,但我还没有想出如何让它们相对于进入的页脚缩小浏览器窗口。

理想情况下,我不想使用 JavaScript,并尽可能让网站主要使用 HTML 和 CSS。

提前致谢。马特

最佳答案

我是这样做的:

var spacing = 50;
var defaultHeight = $(".left").outerHeight();

$(window).scroll(function() {

  var calcHeight = $(".footer").offset().top - $(window).scrollTop() - spacing;

  if (calcHeight < defaultHeight) {
    $(".left, .right").height(calcHeight);
  } else {
    $(".left, .right").height(defaultHeight);
  }

});

Here is the JSFiddle demo

关于javascript - 相对于页脚调整高度的固定位置 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265062/

相关文章:

javascript - 如何刷新DIV而不是页面?

javascript - 如何使用动态参数在 javascript 中创建 anchor 链接?

javascript - 如何在 Angularjs 中传递数据

c# - 显示真实值的复选框

javascript - 使用 process.hrtime() 的执行时间返回 vaSTLy 不同的结果

javascript - 如何使用正则表达式在单元格中查找值并放入电子表格的下一行?

php - 如何在html页面的横幅下将 slider 和图像保持在一行中

javascript - mouseWheel 事件不工作 Safari Canvas

javascript - jQuery.when : What happens if one function fails? 时

javascript - bxSlider - 在 slider 内移动控件