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 常见操作实现方式和常用函数方法总结
May 06 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
ECMAScript6中Map/WeakMap详解
Jun 12 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
js实现精确到毫秒的倒计时效果
Aug 05 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
一秒学会微信小程序制作table表格
Feb 14 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 Javascript
实例讲解React 组件
Jul 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来改写404错误页让你的页面更友好
2013/01/24 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
2010/11/16 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Python set集合类型操作总结
2014/11/07 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
django使用admin站点上传图片的实例
2019/07/28 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
大学生饮食配送创业计划书
2014/01/04 职场文书
物流专业大学生职业生涯规划书范文
2014/01/15 职场文书
中介业务员岗位职责
2014/04/09 职场文书
学雷锋月活动总结
2014/04/25 职场文书
个人投资合作协议书
2014/10/12 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书