页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解
本文主要为大家详细介绍了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监听滚动事件某元素吸顶或固定位置显示详解相关推荐
- vue监听滚动事件 实现某元素吸顶或者固定位置显示
vue监听滚动事件 实现某元素吸顶或者固定位置显示 最近写了一个VUE的web app项目,需要实现某个部位吸顶的效果.即,页面往上滑动,刚好到达该部位时,该部分,固定在顶部显示. 1.监听滚动事件 ...
- vue 监听滚动事件之菜单滚动吸顶点击滑动到指定位置点击高亮
###菜单滚动吸顶效果: ###html: <section class="switchModule" id="switchModule">< ...
- html监听页面滚动高度,jquery如何监听滚动条事件?
jquery如何监听滚动条事件?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 问题: 在浏览很多网页中都会发现,当滚动条滚动到一定的位置的时候就出显示一 ...
- html页面滚动条监听事件,jquery如何监听滚动条事件?
jquery如何监听滚动条事件?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 问题: 在浏览很多网页中都会发现,当滚动条滚动到一定的位置的时候就出显示一 ...
- 监听滚动事件 实现动态锚点
前几天做项目的时候,需要实现一个动态锚点的效果 如果是传统项目,这个效果就非常简单.但是放到 Vue 中,就有两大难题: 1. 在没有 jQuery 的 animate() 方法的情况下,如何实现平滑 ...
- RecycleView 分割线设置及监听滚动状态
一.RecycleView 分割线 ListView中的分割线可以通过属性divider和dividerHeight分别设置颜色值/图片及分割线高度.而RecycleView并没有提供这两个属性设置分 ...
- js 监听 安卓事件_百行代码实现js事件监听实现跨页面数据传输
百行代码实现js事件监听实现跨页面数据传输 使用场景 类似消息队列的使用场景,支持同页面和跨页面通信,发送消息和接收消息 技术原理 跨页面通信: 基于事件监听,通过监听 storage事件监听回调机制 ...
- 【Flutter】监听滚动动作 控制组件 透明度渐变 ( 移除顶部状态栏空白 | 帧布局组件 | 透明度组件 | 监听滚动组件 )
文章目录 前言 一.移除顶部状态栏空白 二.帧布局组件 三.透明度组件 四.监听滚动事件 五.完整代码示例 六.相关资源 前言 在上一篇博客 [Flutter]Banner 轮播组件 ( flutte ...
- Vue 设置overflow: auto 后监听滚动距离
overflow: auto 后监听滚动距离 <div class="page-body-inner" @scroll.passive="getScroll($ev ...
最新文章
- java中的foreach语句
- android 第三方登录界面,Android App集成第三方登录与换肤指南
- [react] 说说react的生命周期有哪些?
- XML动态排序(1)
- python利用jieba(textRank、TFIDF)提取关键字
- linux查看redis没有权限,在linux上安装redis并设置权限
- Java SSM面试题
- 工业面阵相机与源型PLC和漏型PLC外部触发接线
- LDC1314和LDC1312的使用
- xp系统计算机蓝屏,Xp系统出现蓝屏代码 0x0000007b解决方法
- 青出于蓝而胜于蓝——揭秘全新的 HWSQL
- 云服务器ubuntu18安装界面,鲲鹏云服务器 ubuntu18 桌面安装
- Linux CPU使用率超过100%的原因
- 云栖社区新版首页上线_开启找bug模式
- 总结VUE控制滚动滑动方法
- 域名防红监测软件实现方案
- 最新 955 不加班的公司名单(2022版)
- 开关电源计算机仿真技术pdf,《开关电源仿真设计》PPT课件.ppt
- python中用于释放类占用的资源的方法是()_mooc大学英语词汇期末答案
- 用户登录注册流程图-所有项目论文通用计算机毕业设计