欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS实现吸顶特效

程序员文章站 2022-04-11 18:50:41
本文实例为大家分享了js实现吸顶特效的具体代码,供大家参考,具体内容如下 知识点 1.scroll家族和offset家族的结合运用 2.当nav的offsettop大于屏幕卷去高...

本文实例为大家分享了js实现吸顶特效的具体代码,供大家参考,具体内容如下

知识点

1.scroll家族和offset家族的结合运用
2.当nav的offsettop大于屏幕卷去高度的时候,进行吸顶
3.添加一个固定类,如果满足条件,为nav加类名

运行效果

JS实现吸顶特效

滚动页面时,保证导航栏吸顶

JS实现吸顶特效

代码

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title></title>
 <style>
 *{margin: 0;padding: 0;list-style: none;border:none}
 img{vertical-align: top;width: 100%;}
 section{width: 70%;margin: 0 auto;}
 .nav{position: fixed;left: 0;top: 0;width: 100%}
 </style>
</head>
<body>
 <header id="head">
 <img src="images/top.png" alt="">
 </header>
 <nav id="nav">
 <img src="images/nav.png" alt="">
 </nav>
 <section>
 <img src="images/body01.png" alt="">
 <img src="images/body02.png" alt="">
 </section>
 <script src="../../mytools/mytools.js"></script>
 <script>
 window.addeventlistener('load',function (ev) {
  // 1. 求出头部高度
  var navtopheight = mytool.$('nav').offsettop;
  // 2. 监听页面滚动
  window.addeventlistener('scroll',function (ev1) {
  var scrolltopheight = mytool.scroll().top;
  // 2.1 判断
  if(scrolltopheight >= navtopheight){
   mytool.addclassname(mytool.$('nav'),'nav')
  }else{
   mytool.removeclassname(mytool.$('nav'),'nav');
  }
  })
 })
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。