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 @   慕容冰菡  阅读(1074)  评论(4编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示