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 相关文章推荐
jQuery EasyUI API 中文文档 - Panel面板
Sep 30 Javascript
javascript中match函数的用法小结
Feb 08 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
Mar 09 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
node.js基于mongodb的搜索分页示例
Jan 22 Javascript
JQuery validate 验证一个单独的表单元素实例
Feb 17 Javascript
vue.js中mint-ui框架的使用方法
May 12 Javascript
jQuery使用bind动态绑定事件无效的处理方法
Dec 11 jQuery
浅谈vuex actions和mutation的异曲同工
Dec 13 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 Javascript
Vue 中 filter 与 computed 的区别与用法解析
Nov 21 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
新52大事件
2020/03/03 欧美动漫
php array_merge下进行数组合并的代码
2008/07/22 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
javascript实现的listview效果
2007/04/28 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
web打印小结
2017/01/11 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
小程序自定义日历效果
2018/12/29 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
Pyqt5自适应布局实例
2019/12/13 Python
如何定义TensorFlow输入节点
2020/01/23 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
出纳岗位职责模板
2013/11/27 职场文书
卫生安全检查制度
2014/02/04 职场文书
网络管理员岗位职责
2014/03/17 职场文书
给老婆的检讨书
2015/01/27 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
教务处干事工作总结
2015/08/14 职场文书