js实现移动端吸顶效果


Posted in Javascript onJanuary 08, 2020

今天来简单的写一个吸顶,供大家参考,具体内容如下

先罗列一下吸顶需要使用到的属性
** scrollTop 获取当前滚动的距离(也就是盒子距离顶部的距离)
offsetTop 盒子距离顶部的高度
offsetHeight 盒子自身的高度
scrollY 滚动的距离
**

想要写出一个吸顶 一定要先明白这几个属性哦(当然了,他也很简单,相信您看完会有一定的收获)

js实现移动端吸顶效果

根据图片中的思路来写:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
    }

    .wrap{
      overflow-y:scroll;
    }

    .header{
      width: 100%;
      height: 40px;
      background: lightgreen;
      color:#fff;
      text-align: center;
      line-height: 40px;
    }
    
    .main{
      height: 1000px;
      background: lightyellow;
    }

    .fixed{
      position: fixed;
      top:0;
    }

  </style>
</head>
<body>
  <div class="wrap">
    <div class="header">我是即将吸顶的哦</div>
    <div class="main"></div>
  </div>

  <script>
    const head = document.querySelector('.header');
    document.addEventListener('scroll',()=>{
      //console.log(document.documentElement.offsetTop) // 0 html距离顶部的距离
      //console.log(document.querySelector('.header').offsetHeight) // 40 红盒子的高度
      //console.log(window.scrollY) // 滚动的距离
      if(window.scrollY > head.offsetHeight){
        head.classList.add('fixed')
      }
    })
  </script>
</body>
</html>

敬请期待 效果图示(正在制作中…)

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

Javascript 相关文章推荐
javascript中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
May 03 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
Jan 08 #Javascript
微信小程序实现吸顶效果
Jan 08 #Javascript
JS实现吸顶特效
Jan 08 #Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 #Javascript
electron+vue实现div contenteditable截图功能
Jan 07 #Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
Jan 07 #Javascript
Vue程序化的事件监听器(实例方案详解)
Jan 07 #Javascript
You might like
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
一篇不错的PHP基础学习笔记
2007/03/18 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
JS非空验证及邮箱验证的实例
2017/08/11 Javascript
React复制到剪贴板的示例代码
2017/08/22 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
在Vue中使用highCharts绘制3d饼图的方法
2018/02/08 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
利用django如何解析用户上传的excel文件
2017/07/24 Python
python实现定时发送qq消息
2019/01/18 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
python实现按关键字筛选日志文件
2019/12/24 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
信息部岗位职责
2013/11/12 职场文书
股份合作协议书范本
2014/04/14 职场文书
小学数学课题方案
2014/06/15 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
健康状况证明模板
2014/10/23 职场文书
工作时间证明
2015/06/15 职场文书
2019各种保证书范文
2019/06/24 职场文书
详解OpenCV曝光融合
2022/04/29 Python