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 相关文章推荐
JS window.opener返回父页面的应用
Oct 24 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
javascript数字时钟示例分享
Apr 23 Javascript
js实现显示当前状态的导航效果代码
Aug 28 Javascript
jQuery实现TAB选项卡切换特效简单演示
Mar 04 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
Jun 10 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
vue+SSM实现验证码功能
Dec 07 Javascript
vue实现的树形结构加多选框示例
Feb 02 Javascript
vue动态绘制四分之三圆环图效果
Sep 03 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 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/11/27 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
JavaScript中的数组特性介绍
2014/12/30 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
react配置antd按需加载的使用
2019/02/11 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
python学习教程之使用py2exe打包
2017/09/24 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
pandas的相关系数与协方差实例
2019/12/27 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
python 怎样进行内存管理
2020/11/10 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
超市促销活动方案
2014/03/05 职场文书
工作散漫检讨书
2014/09/16 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP