Html吸顶效果

Html吸顶效果

一、HTML

HTML中需要给div一个id

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<div id="head"></div>
</body>
</html>

 

二、CSS

<style>
  #head {
      background-color: #989898;
      width: 100%;
      height: 100px;
      margin-top: 100px;
  }
  #head[data-fixed="fixed"]{
      position: fixed;
      top:0;
      left: 0;
      margin: 0;
   }
 </style>

 

三、JS

1、面向过程

<script>
    var obj = document.getElementById("head");
    var ot = obj.offsetTop;
    document.onscroll = function () {
    var st = document.body.scrollTop || document.documentElement.scrollTop;
    obj.setAttribute("data-fixed",st >= ot?"fixed":"")}
</script>

 

2、面向对象

1)封装方法

/* 
 * 封装吸顶函数,需结合css实现。
 * 也可以直接用js改变样式,可以自行修改。
 */
    function ceiling(obj) {
        var ot = obj.offsetTop;
        document.onscroll = function () {
        var st = document.body.scrollTop || document.documentElement.scrollTop;
        obj.setAttribute("data-fixed",st >= ot?"fixed":"");
        }
    }

 

2)调用方法

<script src="ceiling.js"></script>
<script>
    window.onload = function () {
         /*获取对象*/
        var wrap = document.getElementById("head");
        ceiling(wrap) /*调用吸顶函数  */
    };
</script>

 

posted @ 2018-03-01 10:04  慕容冰菡  阅读(1072)  评论(4编辑  收藏  举报