封装getScroll函数

1. 获取页面向上或者向左卷曲出去的距离的值
2. 浏览器的滚动事件
  function getScroll() {
return {
left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft||0,
top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
};
} //浏览器的滚动事件
window.onscroll = function () {
console.log(getScroll().top);
};

案例:固定导航栏

获取scrollTop值后判断高度大于导航栏的高,就设置样式固定住,同时,主页部分的marginTop值,为防止浮动/脱标造成的影响,这个值设置为导航栏的高

<!DOCTYPE html>
<html> <head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
* {
margin: 0;
padding: 0
} img {
vertical-align: top;
} .main {
margin: 0 auto;
width: 1000px;
margin-top: 10px; } .fixed {
position: fixed;
top: 0;
left: 0;
}
</style>
</head> <body>
<div class="top" id="topPart">
<img src="data:images/top.png" alt="" />
</div>
<div class="nav" id="navBar">
<img src="data:images/nav.png" alt="" />
</div>
<div class="main" id="mainPart">
<img src="data:images/main.png" alt="" />
</div>
<script src="common.js"></script>
<script> //获取页面向上或者向左卷曲出去的距离的值
function getScroll() {
return {
left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
top: window.pageXOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
};
} //滑动事件
window.onscroll = function () {
if (getScroll().top >= my$("topPart").offsetHeight) {
//设置第二个div的类样式
my$("navBar").className = "nav fixed";
//设置第三个div的mainTop值
my$("mainPart").style.marginTop = my$("navBar").offsetHeight + "px";
} else {
my$("navBar").className = "nav";
my$("mainPart").style.marginTop = "10px";
}
};
</script> </body> </html>

最新文章

  1. 前端学HTTP之代理
  2. ButterKnife Zelezny从配置到使用
  3. 得静下心来看python了。
  4. paip.重装系统需要备份的资料总结..v2.0 cad
  5. hack是什么
  6. tomcat集群配置
  7. 学好UI你必须要掌握这些技术
  8. JavaScript数组方法大全
  9. Python 3.6.3 利用 Dlib 19.7 和 opencv 实现人脸68点定位 进行人脸识别
  10. PL/SQL集合 ----- varrays
  11. C#,一份超简单的数据库帮助类,SqlHelp
  12. python数据处理excel和pdf,并打包成exe
  13. PyCharm 使用Github管理Django项目
  14. 报错:System.Data.Entity.Validation.DbEntityValidationException: 对一个或多个实体的验证失败
  15. JPA(二):HellWord工程
  16. npm 如何设置镜像站为淘宝网
  17. 转:【HTTP】常见错误码说明
  18. ibatis源码学习2_初始化和配置文件解析
  19. python dict 字典
  20. Linux 中 eclipse 的tomcat端口号被占用

热门文章

  1. Selenium+Java(三)Selenium元素定位
  2. java JDK安装包的获取与安装
  3. Django-分页-form数据校验
  4. vue如何引入图片地址
  5. 爬取豆瓣top250音乐 时长 出版商 存入Mongo数据库
  6. split分割(拆分)文件
  7. Spring Cloud系列-Zuul网关集成JWT身份验证
  8. input 输入框 只能输入数字、字母、汉字等
  9. CSS+HTML实现移动端div左右滑动展示
  10. Python开发GUI工具介绍,实战:将图片转化为素描画!【华为云技术分享】