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学习笔记5 类和对象
Jan 11 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 Javascript
谈谈AngularJs中的隐藏和显示
Dec 09 Javascript
JavaScript 闭包详细介绍
Sep 28 Javascript
详解Vue 实例中的生命周期钩子
Mar 21 Javascript
Bootstrap 中data-[*] 属性的整理
Mar 13 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
JS实现判断有效的数独算法示例
Feb 25 Javascript
JS轮播图的实现方法
Aug 24 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 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
浅谈PHP语法(1)
2006/10/09 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
js原生map实现的方法总结
2020/01/19 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
js canvas实现五子棋小游戏
2021/01/22 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
Python中 Lambda表达式全面解析
2016/11/28 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
保洁主管岗位职责
2013/11/20 职场文书
公司担保书范文
2014/05/21 职场文书
论文答谢词
2015/01/20 职场文书
检讨书范文300字
2015/01/28 职场文书
销售工作决心书
2015/02/04 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android