我怎样才能有 2 个具有动态高度值的粘性 headers

How can i have 2 sticky headers with dynamic height values

我想创建一个页面顶部有 2 个粘性元素的网站。粘性 header 和粘性工具栏。我正在为工具栏使用 bootstrap 的 Affix,为 header.

使用 sticky.js

如果我使用 {topSpacing:0} 作为粘性工具栏 header,当它 "sticks" 时它会移动到粘性工具栏后面。

如果我将 {topSpacing:30} 用于粘性 header,当它 "sticks" 时它会很好地定位自己以适应大屏幕,但是 : 唯一的问题是,在较小的屏幕上,工具栏会改变高度(变得高于 30px 以适应其所有内容),粘性 header 再次移动到粘性工具栏后面。

我希望粘性 header 到 始终 粘在粘性工具栏下方,即使工具栏的高度为 0 像素或 10000 像素!

这可能吗?

这是我的代码:

//Sticky Top bar
$('#sp-top-bar').affix({
  offset: {
    top: 1,
    bottom: function () {
      return (this.bottom = $('.footer').outerHeight(true))
    }
  }
})

//Sticky Header
$(document).ready(function(){
    $("body.sticky-header").find('#sp-header').sticky({topSpacing:0})
});

这里是一个link项目:http://werstahl.ellevenacoustica.com

为什么不动态获取高度呢?

$("body.sticky-header #sp-header').sticky({topSpacing: $('#sp-top-bar).outerHeight()});

尝试将 topSpacing 设置为 $('#sp-top-bar').outerHeight(),这样无论屏幕大小如何,顶部间距始终为 #sp-top-bar 高度

$(document).ready(function(){
    $("body.sticky-header").find('#sp-header').sticky({topSpacing:$('#sp-top-bar').outerHeight()})
});

谢谢两位的帮助!

郑重声明,这个有效:

$(document).ready(function(){
      $("body.sticky-header").find('#sp-header').sticky({topSpacing: $('#sp-top-bar').outerHeight()})
   });

唯一奇怪的事情是,当我在 mozilla 中使用 CTRL+f5 刷新时,两个元素之间出现了一个空隙。当我正常刷新时(不用 Ctrl 键或简单地浏览),间隙就会消失。有什么想法吗?