html右侧导航栏固定,固定导航栏.html
* {
margin: 0;
padding: 0
}
.top {
height: 168px;
}
img {
vertical-align: top;
}
.main {
margin: 0 auto;
width: 1000px;
margin-top: 0px;
}
.fixed {
position: fixed;
top: 0;
left: 0;
}
// 页面滚动,滚动top的高度后,就实现导航栏固定,否则导航栏不固定
/*
思路分析
1. 页面增加滚动事件:window.onscroll
2. 滚动事件处理
2.1 获取页面滚动高度:window.pageYOffset
2.2 获取top的高度
2.3 判定:滚动的距离与top高度大小
2.3.1 如果大于:导航栏固定;nav.classList.add('fixed');
2.3.2 如果小于等于:导航栏不固定:nav.classList.remove('fixed');
*/
let a = document.getElementById('mainPart');
let b = document.getElementById('navBar');
// 先拿到mainPart的本身的marginTop值
let mainMargin = parseInt(getComputedStyle(a)['marginTop']);
console.log(mainMargin);
// console.log(b.offsetHeight);
// 1. 页面增加滚动事件:window.onscroll
window.onscroll = function () {
// 2. 滚动事件处理
// 2.1 获取页面滚动高度:window.pageYOffset
// 2.2 获取top的高度
let topPart = document.getElementById('topPart');
let navBar = document.getElementById('navBar');
let mainPart = document.getElementById('mainPart');
// console.log(topPart.offsetHeight, navBar.offsetHeight);
// 2.3 判定:滚动的距离与top高度大小
if (window.pageYOffset > topPart.offsetHeight) {
// 2.3.1 如果大于:导航栏固定;nav.classList.add('fixed');
navBar.classList.add('fixed');
// 细节:navBar脱标后,没有高度,导致main会顶上去
// 解决方案:给main增加一个marginTop属性,值是自己原来的值 + navBar的高度
mainPart.style.marginTop = mainMargin + navBar.offsetHeight + 'px';
} else {
// 2.3.2 如果小于等于:导航栏不固定:nav.classList.remove('fixed');
navBar.classList.remove('fixed');
// 不固定导航:减去导航栏的高度(回到原始状态)
mainPart.style.marginTop = mainMargin + 'px';
}
};
一键复制
编辑
Web IDE
原始数据
按行查看
历史
html右侧导航栏固定,固定导航栏.html相关推荐
- android 固定底部导航,如何设置android底部导航栏位置固定在android
请帮我设置底部导航栏位置固定在底部, ,因为我在输入editText字段时遇到问题,底部导航栏向上移动并覆盖其他领域如何设置android底部导航栏位置固定在android 代码: xmlns:and ...
- vue---museui解决底部/顶部导航栏位置固定问题
移动端页面通常会包括顶部导航或底部导航栏,导航栏一般固定在页面上. 问题描述如下: 导航栏未固定,顶部红色导航栏会随着页面下滚而消失,底部的蓝色导航栏会根据页面内容变化而上下浮动,视觉体验非常不好. ...
- html固定顶部导航栏和底部导航栏
固定顶部导航栏,在样式(css)中加入以下代码 position: fixed;z-index: 1000;right: 0;bottom: 0;left: 0px;top: 0px;width: 1 ...
- React Native 的顶部导航栏和底部导航栏目
说来也是惭愧,本来关于底部导航栏,我已经写过一篇博客,只不过那篇更偏向于入门一些,当时一实现功能之后就迫不及待的分享给大家了.地址在这儿:http://blog.csdn.net/LJFPHP/art ...
- 咋把计算机程序固定到任务栏中,win10我的电脑固定到任务栏如何操作_win10怎么把我的电脑放到任务栏...
有些用户可能不知道win10系统中我的电脑是什么,其实我的电脑就是电脑桌面上的此电脑程序,对此有用户觉得我的电脑图标放在桌面上很是碍眼,因此就想要将其固定到任务栏中来,那么win10我的电脑固定到任务 ...
- Android中导航栏之自定义导航布局
Toolbar系列文章导航 Android中导航栏之Toolbar的使用 Android中导航栏之溢出菜单OverflowMenu Android中导航栏之搜索框SearchView Android中 ...
- 怎么把计算机桌面的文件固定到任务栏,win10如何将桌面我的电脑固定到任务栏 - 卡饭网...
如何将win10系统电脑上的此电脑固定到任务栏上 如何将win10系统电脑上的此电脑固定到任务栏上 我们经常将一些自己常用的软件固定到电脑的任务栏中,方便我们下次快速打开.当我们需要将此电脑固定到任务 ...
- 【CSS】课程网站横版导航栏 ( 横版导航栏测量及样式 | 代码示例 )
文章目录 一.盒子测量及样式 1.总体盒子测量及样式 2.左侧盒子测量及样式 3.中间盒子测量及样式 4.右侧盒子测量及样式 二.横版导航栏代码示例 1.HTML 标签结构 2.CSS 样式 3.显示 ...
- Win11任务栏怎么固定?
我们一般都会在电脑任务栏上固定一些常用的应用程序,方便下次快速打开,但是升级Win11系统之后,要怎么将应用程序固定到任务栏了呢?下面小编就来介绍一下Win11任务栏的固定教程. win11怎么固定任 ...
最新文章
- Linux02-帮助手册
- VTK:图片之ImageCityBlockDistance
- Ubuntu14.04安装pip及配置
- ubuntu16.04中如何将python3设置为默认
- 使用TensorFlow.js进行AI在网络摄像头中翻译手势和手语
- 表格中序号怎计算机课程视频,【答疑】在Excel表格里输入了文字后怎么下拉顺序号啊?如何在表格里添加序号? - 视频教程线上学...
- ok计数器使用教程_Qt ModelView教程(二)——应用举例
- 2016中国大学生程序设计竞赛(长春)
- c++11中using的使用
- 后端要学MySQL_后端程序员需要掌握MySQL数据库吗
- 【VSCode PlatformIO】 STC单片机开发头文件制作与添加方法
- 【vue-router源码】四、createRouter源码解析
- java毕业设计选题基于JavaWeb实现疫情环境下校园宿舍|寝室管理系统
- 天猫Java岗位薪资及职位描述!月薪 40000 的Java程序员,需要掌握哪些技术?
- 你永远不知道用户怎么使用你的产品
- 程序开发团队之团队精神篇(转)
- python用表格中的数据画柱状图_[python]统计excel表格某列中每项出现的次数并画柱状图...
- matlab多孔介质蒸发,随机生成多孔介质matlab程序.doc
- B站视频内容复利,品牌投放中小UP主的营销机遇在哪?
- 笔记整理--Linux守护进程