javascript - 导航在特定 DIV 后调整大小

标签 javascript jquery html css navigation

我正在构建一个个人网站,我想让我的导航在向下滚动后缩小。该网站由 4 个 100% 高度的 div 组成。现在我正在使用JS,即在300px滚动后缩小导航:

 <script>
   function init() {
     window.addEventListener('scroll', function(e){
          var distanceY = window.pageYOffset || document.documentElement.scrollTop,
              shrinkOn = 300,
              header = document.querySelector("header");
          if (distanceY > shrinkOn) {
              classie.add(header,"smaller");
          } else {
              if (classie.has(header,"smaller")) {
                  classie.remove(header,"smaller");
              }
          }
      });
  }
  window.onload = init();
</script>

我的问题是如何使导航在第一个 div 之后缩小?

最佳答案

如果你想在窗口的上边框接触到窗口的上边框时缩小导航,可以使用 offsetTop 来获取 div 的 y 坐标div 然后您可以将 shr​​ink 变量值设置为 -

shrink = div.offsetTop;

但是,如果您想在跨越 div 后缩小它,那么您可以将 shr​​ink 的值设置为此 -

shrink = div.offsetTop + div.offsetHeight

希望对你有帮助!

关于javascript - 导航在特定 DIV 后调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569558/

相关文章:

javascript - jQuery IF 语句根据两个下拉菜单和一个文本框字段计算费用

html - CSS 网格在移动设备上隐藏文本(移动设备优先)

javascript - 如何在图像上粘贴图像

javascript - Protractor - 当子元素也是页面中其他地方的主要元素时如何在元素内找到元素

javascript - 如何使用 jQuery 在 <li> 中引用 <a>

javascript - html 键码在 firefox 中不起作用

javascript - 单击菜单按钮切换 Logo 图像

javascript - iframe 和innerHTML 有什么区别

javascript - 为什么 JavaScript Arguments 对象会因赋值给参数而发生变化?

jQuery DOM 导航 - 在选中复选框后查找下一个标签