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中get()方法用法实例
Dec 27 Javascript
js实现选中复选框文字变色的方法
Aug 14 Javascript
微信小程序 video组件详解
Oct 25 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
Dec 05 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
原生JS实现的自动轮播图功能详解
Dec 28 Javascript
vue实现图片预览组件封装与使用
Jul 13 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 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使用正则验证中文
2016/04/06 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
angular十大常见问题
2017/03/07 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python实现在sqlite动态创建表的方法
2015/05/08 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
中国电视购物:快乐购
2017/02/04 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
2014组织生活会方案
2014/05/19 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
模范教师材料大全
2014/12/16 职场文书
法学专业求职信范文
2015/03/19 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
公开致歉信
2019/06/24 职场文书
Redis实现分布式锁的五种方法详解
2022/06/14 Redis