vue中的滚动监听
来源:互联网 发布:大腿内侧黑色素知乎 编辑:程序博客网 时间:2024/06/16 21:28
写项目的时候经常会用到滚动监听,那在vue中怎么做到呢?
我自己写了一个,效果:
很丑,是吗?
是!
首先我们要有一个函数
methods:{ scrollto(){ console.log(document.body.scrollTop); //这个只是看一下我们的函数在起作用 }}
mounted(){ window.addEventListener('scroll',this.scrollto)}
这个时候就来一波测试了
正常的话就可以看到一堆数字
当滚动到一定程度的时候,就可以搞一些事情了
methods:{ scrollto(){ var a = document.body.scrollTop console.log(a); if(a >= 230){ this.isShow = true; //换个样式,怎么样? }else{ this.isShow = false; } }}
.cur{ border-top:1px solid red; background-color:#000; position: fixed; top: 0; left: 0; a{ color:white; text-decoration: none; } } //我用的less,正常css一样效果
<div class="nav-bar" id="nav-bar" v-bind:class="{cur:isShow}"> 。。。</div>
到这个滚动的效果就出来了(我没用设计师,所以做出来的就很丑)。
还有锚点,监听滚动的时候一般都有吧。
刚好我也有
代码:
<li> <a href="javascript:;" @click="goAnchor('001')">one</a></li><li> <a href="jsvascript:;" @click="goAnchor('002')">two</a></li><li> <a href="javascript:;" @click="goAnchor('003')">three</a></li>
这里面有个函数,那就要定义函数了
methods:{ goAnchor(selector) { var anchor = document.getElementById(selector) document.body.scrollTop = anchor.offsetTop-50; }}
基本完事了,别忘了传参,id还是不能少的
最后一件事
跳转其他页面之前移除绑定的事件
destoryed(){ window.removeEventListener('scroll',this.scrollto) //移除时的事件和函数要跟添加时一致,匿名函数不管用}
这个基本都是DOM操作,和vue的观念好像不太符合
谁有更贴切vue的做法请留言,谢谢!
阅读全文
0 0
- vue中的滚动监听
- vue监听滚动事件实现滚动监听
- Bootstrap中的滚动监听
- vue.js监听滚动条加载更多数据
- flex4中的Scroller,监听滚动事件
- 滚动监听
- 滚动监听
- Vue 爬坑之路(七)—— 监听滚动事件 实现动态锚点
- Vue 爬坑之路(七)—— 监听滚动事件 实现动态锚点
- vue监听滚动事件 实现某元素吸顶或者固定位置显示
- Vue监听数据变化
- vue-watch 深度监听!!
- vue 监听函数
- vue 监听屏幕高度
- Vue监听全局变量
- vue滚动自动加载
- VUE 滚动公告
- vue-router 滚动行为
- PHP技术讨论群
- CentOS下安装JDK的三种方法
- amlogic android 7.0 修改系统分区大小
- 数组翻转系列
- UVA 10474
- vue中的滚动监听
- 解决国内NPM安装依赖速度慢问题
- spring学习笔记八 bean生命周期
- java 文件下载
- Git学习——如何进入到某个本地git库
- 原生JS实现AJAX、JSONP及DOM加载完成事件,并提供对应方法
- UVA 639
- SpringAOP 详解
- 项目升级-加密的参数传递到后台然后解密(相当于重新封装下request)