javascript - 如果它在滚动时改变高度,我该如何修复原始标题下的 div?

标签 javascript jquery css fixed

我创建了一个额外的菜单栏 (.secondnav),我想将其放在网站中原始标题 (#headAnnouncementWrapper) 的正下方。问题是,滚动时,标题的高度从相对位置变为固定在顶部时会发生变化,在移动设备上也是如此。

我一直在尝试:

 var scrolled = 78;
   var headHeight = $('#headerAnnouncementWrapper').height();
$(window).scroll(function() {
if ($(window).scrollTop() > scrolled) {
  $('.secondnav').css('position', 'fixed');
  $('.secondnav').css('top', headHeight);
} else {
  $('.secondnav').css('position', 'relative'),
  $('.secondnav').css('top', headHeight);
}
  });

但我不知道我应该如何计算 headHeight 变量以便它在高度变化时发生变化,以及如何将该结果用作 .secondnav< 的最高值 的 css。

最佳答案

检查滚动事件中主标题的高度。每次滚动事件触发时,它都会重新检查高度。然后,下一行将调整下页眉的上边距以匹配上页眉的高度。此处的 Top-margin 取代了您的仓位方法。

var scrolled = 78;

$(window).scroll(function() {
    var headHeight = $('#headerAnnouncementWrapper').height();
   $('.secondnav').css('marginTop', headHeight);
if ($(window).scrollTop() > scrolled) {
  $('.secondnav').css('position', 'fixed');
} else {
  $('.secondnav').css('position', 'relative'),
}
  });

关于javascript - 如果它在滚动时改变高度,我该如何修复原始标题下的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44596137/

相关文章:

html - 如何删除网页底部的空白区域?

html - 是否可以根据网格布局的另一列将一列的内容居中?

javascript - Electron 在窗口中形成透明圆圈?

javascript - Laravel + jquery ajax 找不到文件的地址

javascript - Bootstrap datepicker多个日期选择器不断返回 "Please enter a valid date."

javascript - 悬停时保持 jQuery `Appended` 元素打开

jquery - 将 jGestures 与 jQuery "on"事件结合使用

c# - HTML : how do I avoid table tag when using display: table; 中的 iText 7 可访问 PDF

javascript - 检索要在多个 Controller 之间共享的大型数据集

java - 从java服务器获取pdf页面,并嵌入到现有的html中