本文主要为大家详细介绍了vue实现某元素吸顶或固定位置显示,监听滚动事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

最近写了一个VUE的web app项目,需要实现某个部位吸顶的效果。即,页面往上滑动,刚好到达该部位时,该部分,固定在顶部显示。

1、监听滚动事件

利用VUE写一个在控制台打印当前的scrollTop,

首先,在mounted钩子中给window添加一个滚动滚动监听事件,mounted () {

window.addEventListener('scroll', this.handleScroll)

},

然后在方法中,添加这个handleScroll方法handleScroll () {

var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop

console.log(scrollTop)

},

控制台打印结果:

2、监听元素到顶部的距离 并判断滚动的距离如果大于了元素到顶部的距离时,设置searchBar为true,否则就是falsehandleScroll () {

var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop

var offsetTop = document.querySelector('#searchBar').offsetTop

if (scrollTop > offsetTop) {

this.searchBarFixed = true

} else {

this.searchBarFixed = false

}

},

先写一个该元素固定到顶部的样式,isFixed(less写法).searchBar{

.isFixed{

position:fixed;

background-color:#Fff;

top:0;

z-index:999;

}

ul {

WIDTH:100%;

height: 40px;

line-height: 40px;

display: flex;

li {

font-size: 0.8rem;

text-align: center;

flex: 1;

i {

font-size: 0.9rem;

padding-left: 5px;

color: #ccc;

}

}

border-bottom: 1px solid #ddd;

}

}

然后将需要固定的元素的class与searchBar进行绑定,如果searchBar为true时,就应用这个isFixed样式

  • 区域
  • 价格
  • 房型
  • 更多

固定后的结果:

注意,如果离开该页面需要移除这个监听的事件,不然会报错。destroyed () {

window.removeEventListener('scroll', this.handleScroll)

},

相关推荐:

页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解相关推荐

  1. vue监听滚动事件 实现某元素吸顶或者固定位置显示

    vue监听滚动事件 实现某元素吸顶或者固定位置显示 最近写了一个VUE的web app项目,需要实现某个部位吸顶的效果.即,页面往上滑动,刚好到达该部位时,该部分,固定在顶部显示. 1.监听滚动事件 ...

  2. vue 监听滚动事件之菜单滚动吸顶点击滑动到指定位置点击高亮

    ###菜单滚动吸顶效果: ###html: <section class="switchModule" id="switchModule">< ...

  3. html监听页面滚动高度,jquery如何监听滚动条事件?

    jquery如何监听滚动条事件?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 问题: 在浏览很多网页中都会发现,当滚动条滚动到一定的位置的时候就出显示一 ...

  4. html页面滚动条监听事件,jquery如何监听滚动条事件?

    jquery如何监听滚动条事件?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 问题: 在浏览很多网页中都会发现,当滚动条滚动到一定的位置的时候就出显示一 ...

  5. 监听滚动事件 实现动态锚点

    前几天做项目的时候,需要实现一个动态锚点的效果 如果是传统项目,这个效果就非常简单.但是放到 Vue 中,就有两大难题: 1. 在没有 jQuery 的 animate() 方法的情况下,如何实现平滑 ...

  6. RecycleView 分割线设置及监听滚动状态

    一.RecycleView 分割线 ListView中的分割线可以通过属性divider和dividerHeight分别设置颜色值/图片及分割线高度.而RecycleView并没有提供这两个属性设置分 ...

  7. js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输

    百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...

  8. 【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )

    文章目录 前言 一.移除顶部状态栏空白 二.帧布局组件 三.透明度组件 四.监听滚动事件 五.完整代码示例 六.相关资源 前言 在上一篇博客 [Flutter]Banner 轮播组件 ( flutte ...

  9. Vue 设置overflow: auto 后监听滚动距离

    overflow: auto 后监听滚动距离 <div class="page-body-inner" @scroll.passive="getScroll($ev ...

最新文章

  1. java中的foreach语句
  2. android 第三方登录界面,Android App集成第三方登录与换肤指南
  3. [react] 说说react的生命周期有哪些?
  4. XML动态排序(1)
  5. python利用jieba(textRank、TFIDF)提取关键字
  6. linux查看redis没有权限,在linux上安装redis并设置权限
  7. Java SSM面试题
  8. 工业面阵相机与源型PLC和漏型PLC外部触发接线
  9. LDC1314和LDC1312的使用
  10. xp系统计算机蓝屏,Xp系统出现蓝屏代码 0x0000007b解决方法
  11. 青出于蓝而胜于蓝——揭秘全新的 HWSQL
  12. 云服务器ubuntu18安装界面,鲲鹏云服务器 ubuntu18 桌面安装
  13. Linux CPU使用率超过100%的原因
  14. 云栖社区新版首页上线_开启找bug模式
  15. 总结VUE控制滚动滑动方法
  16. 域名防红监测软件实现方案
  17. 最新 955 不加班的公司名单(2022版)
  18. 开关电源计算机仿真技术pdf,《开关电源仿真设计》PPT课件.ppt
  19. python中用于释放类占用的资源的方法是()_mooc大学英语词汇期末答案
  20. 用户登录注册流程图-所有项目论文通用计算机毕业设计

热门文章

  1. Linux学习总结(23)——SSH协议详解
  2. Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志
  3. Java基础学习总结(54)——JSON和Map转换的工具类
  4. php过滤处理手机自带Emoji表情
  5. 分布式光伏贷款欲破冰 多家银行推出相关业务
  6. buffer cache 内存管理物理结构纯干货
  7. angularjs中的数据绑定
  8. 游侠原创:手机电子商务与社交隐私--网络安全的下一个关注点
  9. 超搞笑之仙桃有没有毛?
  10. 锦江公司 nginx 转发