Javascript 如何使导航栏在图像之后粘贴到页面顶部?

Javascript 如何使导航栏在图像之后粘贴到页面顶部?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图使导航栏在页眉被滚动后粘贴到页面顶部 所以它会类似于这个,但是有一张图片。因此,对于图片,它将被拉伸到屏幕的大部分,但它也会根据窗口的大小进行调整。因此,我不能说在200px之后,让导航条保持不变,因为图像的大小会有所不同。如果可能的话,是否有一种方法可以使Javascript函数在到达任何元素的底部时注册,导航栏将保持不变 HTML: --包括这样的示例图像 var nav_bar_top_offset=$(“#nav_bar”).offset().top; $(窗口)。滚动(函数()

我试图使导航栏在页眉被滚动后粘贴到页面顶部

所以它会类似于这个,但是有一张图片。因此,对于图片,它将被拉伸到屏幕的大部分,但它也会根据窗口的大小进行调整。因此,我不能说在200px之后,让导航条保持不变,因为图像的大小会有所不同。如果可能的话,是否有一种方法可以使Javascript函数在到达任何元素的底部时注册,导航栏将保持不变

HTML:

--包括这样的示例图像

var nav_bar_top_offset=$(“#nav_bar”).offset().top;
$(窗口)。滚动(函数(){
if($(this).scrollTop()>导航条顶部偏移){
$('nav#u bar').addClass('fixed');
}否则{
$('nav#u bar')。removeClass('fixed');
}
});
正文{
边际:0px;
}
标题{
保证金:0自动;
/*位置:固定*/
排名:0;
}
第{节背景:#fff}
img{
最大宽度:100%;
文本对齐:居中;
排名:0;
显示:块;
}
.导航条固定{
排名:0;
z指数:100;
位置:固定;
宽度:100%;
}
保险商实验室{
列表样式类型:无;
保证金:0;
填充:0;
溢出:隐藏;
背景色:#333;
}
李{
浮动:左;
}
李a,,
.dropbtn{
显示:内联块;
颜色:白色;
文本对齐:居中;
填充:14px 16px;
文字装饰:无;
}
李a:悬停,
.dropdown:悬停.dropbtn{
背景色:红色;
}
li.下拉列表{
显示:内联块;
}
.下拉内容{
显示:无;
位置:绝对位置;
背景颜色:绿色;
最小宽度:160px;
盒影:0px 8px 16px 0px rgba(0,0,0,0.2);
}
.下拉内容a{
颜色:黑色;
填充:12px 16px;
文字装饰:无;
显示:块;
文本对齐:左对齐;
}
.下拉列表内容a:悬停{
背景色:#f1f1
}
.下拉:悬停.下拉内容{
显示:块;
}
.固定{
位置:固定;
排名:0;
宽度:100%;
}

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

知识是一种美德,是一种美德,是一种美德,是一种美德。但是,在最低限度上,我们需要一个实验室来进行日常工作。二人世界 这是一种令人厌恶的行为,因为它是一种不平等的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。


我想你想要实现的就是这个。希望能帮助你。点击
运行代码片段
,查看其运行情况

首先,在滚动时检查何时到达要保持固定的元素,并添加
fixed
类,然后如果向后滚动,则将其删除。
var navBarOffset=$(“#导航条”).offset().top;
$(窗口)。滚动(函数(){
var navBar=$(“#nav_bar”);
var scroll=$(窗口).scrollTop();
如果(滚动>=navBarOffset){
navBar.addClass(“固定”);
}否则{
navBar.removeClass(“固定”);
}
});
正文{
边际:0px;
}
标题{
保证金:0自动;
/*位置:固定*/
排名:0;
}
.固定{
位置:固定;
排名:0;
左:0;
宽度:100%;
}
img{
最大宽度:100%;
文本对齐:居中;
排名:0;
显示:块;
}
.导航条固定{
排名:0;
z指数:100;
位置:固定;
宽度:100%;
}
保险商实验室{
列表样式类型:无;
保证金:0;
填充:0
    <header>
  <img src="https://upload.wikimedia.org/wikipedia/commons/d/de/Mount_Shuksan,_Picture_Lake_(2362739742).jpg" alt="">
  </header>

  <nav id = "nav_bar">
      <ul class = "navbar-list">
          <li>
              <a href="">link1</a>
          </li>
          <li class="dropdown">
              <a href="#" class="dropbtn">link2</a>
                  <div class="dropdown-content">
                      <a href="#">link 1</a>
                      <a href="#">link 2</a>
                      <a href="#">link 3</a>
                      <a href="">link 4</a>
                  </div>
          </li>
          <li>
              <a href="">link 3</a>
          </li>
          <li>
              <a href="">link4</a>
          </li>
      </ul>
  </nav>

<body>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>

<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
body{
margin:0px;
}

header{
margin: 0 auto;
/*position: fixed;*/
top: 0;
}


img{
max-width: 100%;
text-align: center;
top: 0;
display: block;
}

.navbar-fixed {
top: 0;
z-index: 100;
position: fixed;
width: 100%;
}


ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}

li {
float: left;
} 

li a, .dropbtn {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}

li a:hover, .dropdown:hover .dropbtn {
background-color: red;
 }

li.dropdown {
display: inline-block;
}

.dropdown-content {
display: none;
position: absolute;
background-color: green;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}

.dropdown-content a:hover {background-color: #f1f1f1}

.dropdown:hover .dropdown-content {
display: block;
}
var  mn = $("#nav_bar");
    mns = "navbar-fixed";
    hdr = $('header').height();

$(window).scroll(function() {
  if( $(this).scrollTop() > hdr ) {
    mn.addClass(mns);
  } else {
    mn.removeClass(mns);
  }
});
$('header').addClass("extraPadding"); // extraPadding is the class that you have to create
$('header').css("padding-bottom", "40"); // 40 could be the height of your navbar
var nav = $('.adjustlink');
    var pos = nav.offset().top;

    $(window).scroll(function (){
        var fix = ($(this).scrollTop() > pos) ? true : false;
        nav.toggleClass("fix-nav", fix);
    });