全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生js实现吸顶效果

实现思路如下:

1. div初始居普通文档流中

2. 给window添加scroll事件(可事件节流),获取div的offset的top值,滚动时scrollTop值和top比较,当到达top时给div添加一个fixed的class使其固定

3. 向上滚动时当到达div初始top时则删除fixed的class,此时div又回到普通文档流中

4. fixed样式非IE6浏览器使用position:fixed,IE6使用position:absolute和IE expression

效果图:

代码如下:

<!doctype html>
<html>
<head>
 <meta charset="utf-8">
 <title>无标题文档</title>
 <style>
  * {
   margin: 0;
   padding: 0;
  }
  #div1 {
   width: 100%;
   height: 50px;
   background: skyblue;
  }
 </style>
 <script>
  window.onload = function() {
   var oDiv = document.getElementById('div1');
   var divT = oDiv.offsetTop;
   //console.log(divT);
   window.onscroll = function() {
    // 获取当前页面的滚动条纵坐标位置 (依次为火狐谷歌、safari、IE678)
    var scrollT = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    if (scrollT >= divT) {
     if (window.navigator.userAgent.indexOf('MSIE 6.0') != -1) {
      // 兼容IE6代码
      oDiv.style.position = 'absolute';
      oDiv.style.top = scrollT + 'px';
      oDiv.style.left = 0 + 'px';
     } else { 
      // 正常浏览器代码
      oDiv.style.position = 'fixed';
      oDiv.style.top = 0;
      oDiv.style.left = 0;
     }
    } else
     oDiv.style.position = '';
   }
  }
 </script>
</head>
<body>
 <div class="all">
  以上<br>
  以上<br>
  以上<br>
  以上<br>
  以上<br>
  以上<br>
  以上<br>
  <div id="div1"></div>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
  啦啦啦啦啦<br>
 </div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js实现吸顶效果  # js吸顶效果  # 微信小程序实现吸顶特效  # 微信小程序实现吸顶效果  # js实现多个标题吸顶效果  # JS实现网站吸顶条  # js实现移动端吸顶效果  # JS实现吸顶特效  # 浅谈react.js中实现tab吸顶效果的问题  # js实现导航吸顶效果  # 微信小程序wxs实现吸顶效果  # 小程序自定义模板实现吸顶功能  # 啦啦  # 文档  # 使其  # 火狐  # 依次为  # 无标题文档  # 滚动条  # 时则  # lt  # xhtml  # brush  # align  # text  # pre  # center  # utf  # charset  # title  # meta  # html 


相关文章: 宝塔建站教程:一键部署配置流程与SEO优化实战指南  定制建站策划方案_专业建站与网站建设方案一站式指南  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  香港网站服务器数量如何影响SEO优化效果?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  建站之星安装提示数据库无法连接如何解决?  如何在IIS中新建站点并解决端口绑定冲突?  湖北网站制作公司有哪些,湖北清能集团官网?  宝塔面板创建网站无法访问?如何快速排查修复?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何在阿里云虚拟主机上快速搭建个人网站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  XML的“混合内容”是什么 怎么用DTD或XSD定义  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  建站之星后台密码如何安全设置与找回?  威客平台建站流程解析:高效搭建教程与设计优化方案  已有域名如何免费搭建网站?  建站主机选哪家性价比最高?  相册网站制作软件,图片上的网址怎么复制?  c# 在高并发场景下,委托和接口调用的性能对比  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  如何通过山东自助建站平台快速注册域名?  如何快速搭建高效香港服务器网站?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  如何访问已购建站主机并解决登录问题?  网站专业制作公司有哪些,做一个公司网站要多少钱?  网站网页制作专业公司,怎样制作自己的网页?  Swift中switch语句区间和元组模式匹配  教学网站制作软件,学习*后期制作的网站有哪些?  广东企业建站网站优化与SEO营销核心策略指南  如何用好域名打造高点击率的自主建站?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  浅谈Javascript中的Label语句  专业商城网站制作公司有哪些,pi商城官网是哪个?  手机网站制作与建设方案,手机网站如何建设?  成都响应式网站开发,dw怎么把手机适应页面变成网页?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  ,怎么在广州志愿者网站注册?  Swift中循环语句中的转移语句 break 和 continue  建站之星代理如何获取技术支持?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站之星安装路径如何正确选择及配置?  建站主机系统SEO优化与智能配置核心关键词操作指南  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何在局域网内绑定自建网站域名?  建站之星3.0如何解决常见操作问题?  如何通过云梦建站系统实现SEO快速优化? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。