Javascript 粘性/移动导航栏

Javascript 粘性/移动导航栏,javascript,html,css,Javascript,Html,Css,我一直在使用创建导航栏。我想要实现的是一点不同,我正在努力使它工作 我试图创建一个导航栏,它固定在页面底部,当滚动内容时,它会逐渐向上移动,到达顶部后,它会固定在那里,当你继续滚动时,它会固定在顶部 创建这种导航的最佳解决方案是什么 谢谢你的帮助 window.onscroll=function(){myFunction()}; var navbar=document.getElementById(“navbar”); var sticky=navbar.offsetTop; 函数myFunc

我一直在使用创建导航栏。我想要实现的是一点不同,我正在努力使它工作

我试图创建一个导航栏,它固定在页面底部,当滚动内容时,它会逐渐向上移动,到达顶部后,它会固定在那里,当你继续滚动时,它会固定在顶部

创建这种导航的最佳解决方案是什么

谢谢你的帮助

window.onscroll=function(){myFunction()};
var navbar=document.getElementById(“navbar”);
var sticky=navbar.offsetTop;
函数myFunction(){
如果(window.pageYOffset>=粘性){
navbar.classList.add(“粘性”)
}否则{
navbar.classList.remove(“粘性”);
}
}
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,table,table,table,caption,tbody,tfoot,thead,tr,th,th,td,article,side,canvas,des,detail,details,figcaption,figcaption,figcaption,figcaption,figcaption,fig,fig,fig,fig,fi,音频、视频{边距:0;填充:0;边框:0;轮廓:0;字体大小:100%;垂直对齐:基线;背景:透明}
正文{行高:1;字体系列:arial}
h1{字体大小:25px}
h2{字体大小:21px}
h3{字体大小:18px}
h4{字体大小:16px}
文章、旁白、详细信息、图表、页脚、页眉、H组、菜单、导航、部分{显示:块}
导航ul{列表样式:无}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
{边距:0;填充:0;字体大小:100%;垂直对齐:基线;背景:透明}
ins{背景色:#ff9;颜色:#000;文本装饰:无}
标记{背景色:#ff9;颜色:#000;字体样式:斜体;字体重量:粗体}
del{文本装饰:线穿过}
abbr[title],dfn[title]{边框底部:1px点;光标:help}
表{边框折叠:折叠;边框间距:0}
hr{显示:块;高度:1px;边框:0;边框顶部:1px实心#ccc;边距:1em 0;填充:0}
输入,选择{垂直对齐:中间}
正文,html{背景色:#FFF}
导航{显示:内联块}
nav ul li a{背景:fff;填充:2px 6px;字体大小:14px;文本装饰:无;字体大小:粗体;颜色:344;边框半径:5px}
nav ul li a:悬停{颜色:#000}
nav ul li{显示:内联块;边距:10px}
导航ul{列表样式:无}
文章{边框底部:2px虚线#998;填充底部:20px;空白底部:20px}
第h2条{字体大小:正常;页边距底部:12px}
页脚{背景:#344;最大宽度:1000px;边距:0-20px;清除:两个;文本对齐:右}
页脚p{填充:20px;颜色:#FFF}
地址{填充:10px 20px 30px 10px}
旁白>div{margin:10px auto;背景:#344;最小高度:150px;填充:30px 10px;文本对齐:居中;颜色:#FFF}
a#徽标{字体大小:40px;颜色:344;字体大小:粗体;显示:块;文本装饰:无;文本对齐:居中;线条高度:40px;填充:60px 5px}
正文>部分{最大宽度:1000px;边距:自动;填充:30px 0px;边框底部:1px实心#999;颜色:#333}
#导航栏{位置:固定;底部:0;宽度:100%;溢出:隐藏;背景色:rgb(255,255,255);}
#导航栏a{浮动:左;显示:块;颜色:#000;文本对齐:居中;填充:14px 16px;文本装饰:无;字体大小:17px;背景色:#FFF;z索引:1;}
#导航栏a:悬停{背景色:#ddd;颜色:黑色;}
#导航栏a.active{背景色:#A9A9;颜色:白色;}
.content{padding:16px;}
.sticky{位置:固定;顶部:0;宽度:100%;}
.sticky+.content{填充底部:60px;}
页脚a{color:#FFF}
#主{左边距:320px}
#wrapall{padding top:60px}
#第{页填充:20px}
#menuToggle,#MobileMoutoggle{background:#FFF;光标:指针;显示:内联块;字体大小:40px;宽度:40px;字体重量:粗体;文本对齐:中心;高度:40px;线条高度:40px;颜色:#344;边框半径:10px}
#MobileAutoggle,#mobileLogo{垂直对齐:中间;显示:无;字体大小:30px}
#菜单切换:悬停{颜色:#FFF;背景:#344}
@媒体屏幕和(最大宽度:1100px){标题{填充:10px}
#头部左侧{宽度:自动}
#头部右侧{宽度:60%}

伊卢德莫利斯中庸酒店
你的知识面很小,但你的知识面很小。具有elit simul primis ne,区域最小id cum。Sea deleniti不同意ea。Illud mollis Moderationus ut per,在ubique Populio。这是我的法宝,是我的法宝

伊壁鸠鲁 我活得很好,因为我是一个有感情的人。我是一个有争议的人,我是一个有争议的人。前伊壁鸠鲁,他的前医生德莱尼特·法贝拉斯,埃拉特·蒂梅姆·科蒂迪科。这是一个平庸的职业。佩尔的马利斯·莱格尔在乌塔穆尔·乌苏领事处有一只凶残的、被怀疑的动物et

他在autem inani和Pat 它有一个完美的模式,一个完美的结论,一个完美的决定。海洋中的二头黄鳍金枪鱼。他的名字叫奥特姆·伊纳尼·帕特。托利特·波希特(Tollit possit in pri),柏拉图(platonem Purpose ad vix),阿尔布修斯(albucius)荣耀号

面神经干 同侧阴唇,侧阴唇,侧阴唇,侧阴唇。新的共同目标。Dolores Consequintur在ius,销售electram异议。特写:两个欧姆内斯·因维邓特,eos eu mucius fabellas。面部痉挛,全身痉挛。Ad vix mundi alterum,intellegam智能城市综合酒店

伊卢德莫利斯中庸酒店 你的知识面很小,但你的知识面很小。具有elit simul primis ne,区域最小id cum。Sea deleniti不同意ea。Illud mollis Moderationus ut per,在ubique Populio。欧姆艾德斯博勒酒店
<div class="container">
  <nav>My nav</nav>
  <div class="contents">
    Contents<br>
    Contents<br>
    Contents<br>
    Contents<br>
    Contents<br>
    Contents
  </div>
</div>
body {
  --nav-height: 20px;
  margin: 0;
  font-family: sans-serif;
}

.container {
  overflow-y: scroll;
  border: 1px solid green;
  height: 100vh;
}
.contents {
  position: relative; /* remove to make contents go below navbar */
  top: -100vh; /* remove to make contents go below navbar */
  border: 1px solid orangered;
  height: 200vh; /* only to make contents block scrollable */
  line-height: 100px; /* only to make contents block scrollable */
  color: black;
}
nav {
  position:sticky; /* here is were the magic happens */
  top: 0;
  z-index: 1;
  background: red;
  color: white;
  width: 100vw;
  height: var(--nav-height);
  margin-top: calc(100vh - var(--nav-height)); /* ...and here */
}