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结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
JS 控件事件小结
Oct 31 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
Apr 27 Javascript
js通过location.search来获取页面传来的参数
Sep 11 Javascript
JS根据生日算年龄的方法
May 05 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
详解原生js实现offset方法
Jun 15 Javascript
深入理解JavaScript的值传递和引用传递
Oct 24 Javascript
jQuery中使用validate插件校验表单功能
May 24 jQuery
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
electron 如何将任意资源打包的方法步骤
Apr 16 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
php创建sprite
2014/02/11 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
图解javascript作用域链
2019/05/27 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
使用Python生成随机密码的示例分享
2016/02/18 Python
python实现排序算法解析
2018/09/08 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
Python流程控制 while循环实现解析
2019/09/02 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
英国领先的家庭时尚品牌:Peacocks
2018/01/11 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
建议书标准格式
2014/03/12 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
行政主管岗位职责
2015/02/03 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python