吸顶效果只需五行代码

来源:互联网 发布:js获取指定日期 编辑:程序博客网 时间:2024/06/09 17:59
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
   *{
         margin: 0;
         padding: 0;
     }
   body{
       height: 2000px;
       background-image: linear-gradient(-180deg, #15f09d 0%, #25A0FF 50%, #fca72b 100%);
   }
   #wrap{
       background-color: rgba(0,0,0,0.2);
       width: 100%;
       height: 100px;
       margin-top: 100px;
   }
   #wrap[data-fixed="fixed"]{
       position: fixed;
       top:0;
       left: 0;
       margin: 0;
   }
    </style>
</head>
<body>
        <div id="wrap"></div>
</body>
<script>
   var obj = document.getElementById("wrap");
   var ot = obj.offsetTop;
   document.onscroll = function () {
        var st = document.body.scrollTop || document.documentElement.scrollTop;
             obj.setAttribute("data-fixed",st >= ot?"fixed":"");
        }
   
   
   /*封装*/
   function ceiling(obj) {
       var ot = obj.offsetTop;
       document.onscroll = function () {
           var st = document.body.scrollTop || document.documentElement.scrollTop;
           /*
            * 给obj添加一个自定义属性。className可能会影响原有的class
            * 三元运算使代码更简洁
            */
           obj.setAttribute("data-fixed",st >= ot?"fixed":"");
       }
        }
   
   
   /*调用*/
  window.onload = function () {
         /*获取导航对象*/
        var wrap = document.getElementById("wrap");
        ceiling(wrap) /*调用吸顶函数  */
    };
</script>
</html>