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 30 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
javascript实现iframe框架延时加载的方法
Oct 30 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
jQuery常用的一些技巧汇总
Mar 26 Javascript
微信小程序 教程之事件
Oct 18 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
May 12 Javascript
JavaScript之filter_动力节点Java学院整理
Jun 28 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
Vue.js实现图片的随意拖动方法
Mar 08 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 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代码
2008/09/10 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
vue.js的提示组件
2017/03/02 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
非常详细的C#面试题集
2016/07/13 面试题
刘胡兰的英雄事迹材料
2014/02/11 职场文书
项目施工员岗位职责
2014/03/09 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
施工安全责任书范本
2014/07/24 职场文书
捐款活动总结
2014/08/27 职场文书
财务审计整改报告
2014/11/06 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
责任书格式
2015/01/29 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
关于 Python json中load和loads区别
2021/11/07 Python
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript