javascript - 过去滚动时使元素固定

标签 javascript jquery css nav

我怎样才能给一个类 .navbar 固定位置的元素,只要用户使用 JQuery 滚动经过它,就让它停留在视口(viewport)的顶部。可以吗?

最佳答案

您是否希望在滚动时到达元素顶部时固定导航栏?

CSS

#navbar.sticky {
  position: fixed;
  top: 0;
}

JS

var navbar = document.getElementById('navbar'),
    navbarOffset = navbar.getBoundingClientRect();

window.addEventListener('scroll', function(e){
  var offsetTop = navbarOffset.top;

  if(window.pageYOffset > offsetTop){
    navbar.classList.add('sticky');
  }else{
    navbar.classList.remove('sticky');
  }
});

DEMO

关于javascript - 过去滚动时使元素固定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51433204/

相关文章:

javascript - 动态创建的元素上的事件绑定(bind)?

javascript - 使用 jQuery 设置 event.target 的值/文本

php - 搜索结果破坏了 Bootstrap 中的导航栏

javascript - 选择具有所有相同元素标签的子组

javascript - 华丽的弹出窗口 : opening second popup with different options

javascript - 如何在 JavaScript 中进行不区分大小写的比较?

javascript - 使用 Jest 测试 firebase 云消息传递

jquery - 根据 CSV 中的值检查复选框

javascript - 如何使用 json 数据创建下拉列表

javascript - Jquery 更改类单击