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游戏之是男人就下100层代码打包
Nov 08 Javascript
jQuery实现360°全景拖动展示
Mar 18 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
JS中的三个循环小结
Jun 20 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
详解webpack 最简打包结果分析
Feb 20 Javascript
layui table单元格事件修改值的方法
Sep 24 Javascript
利用js canvas实现五子棋游戏
Oct 11 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
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
动态生成gif格式的图像要注意?
2006/10/09 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
Egret引擎开发指南之视觉编程
2014/09/03 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python struct.unpack
2008/09/06 Python
Python datetime时间格式化去掉前导0
2014/07/31 Python
python开发简易版在线音乐播放器
2017/03/03 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
django fernet fields字段加密实践详解
2019/08/12 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
Exception类的常用方法
2012/06/16 面试题
医院反腐倡廉演讲稿
2014/09/16 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
升学宴学生答谢词
2015/01/05 职场文书
班主任培训研修日志
2015/11/13 职场文书
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL