使用vue.js在页面内组件监听scroll事件的方法
2018-09-11 14:50
4828 查看
思路:scroll在哪儿个组件内,就在获取那个dom元素。网上好多思路是
window.addEventListener("scroll", function(){ console.log('scrolling'); });
这是监听不到的!如果你整个网页可以滑动,或许还可以试试!
对于像我这样,只在页面的内的一个div内要监听的。
实现代码如下:
第一步:滑动的组件外层的div加 ref="viewBox" 为了通过$refs获取dom元素
<!--设备列表--> <div class="deviceWrapper" ref="viewBox"> <mu-refresh-control :refreshing="refreshing" :trigger="trigger" @refresh="refresh"/> <div class="demo-grid"> <!--设备列表 手机一行两列 pad一行4列--> <mu-row> <mu-col v-for="device in devicesList" width="50" tablet="25" desktop="25"> <deviceCardView :device-data="device""></devicelightCardView> </mu-col> </mu-row> </div> <p class="bottomLine" v-bind:class="{bottomLineVisible:isScroll}">---------------------我是有底线的---------------------</p> </div>
第二步:
mounted() { // 通过$refs获取dom元素 this.box = this.$refs.viewBox // 监听这个dom的scroll事件 this.box.addEventListener('scroll', () => { console.log(" scroll " + this.$refs.viewBox.scrollTop) //以下是我自己的需求,向下滚动的时候显示“我是有底线的(类似支付宝)” this.isScroll=this.$refs.viewBox.scrollTop>0 }, false) }
ps:具体怎么做,看需求了。只要能打印出来.scrollTop就行了
以上这篇使用vue.js在页面内组件监听scroll事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- 使用vue.js在页面内组件监听scroll事件
- Vue.js 2使用中的难点举例--子组件,slot, 动态组件,事件监听
- (vue.js)vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法
- 详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
- Vue.js路由组件vue-router使用方法详解
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- vue.js使用watch监听路由变化的方法
- 使用JS监听鼠标滚轮事件,并且滑动一次只执行一次事件方法
- 使用js写点击一个事件使页面返回顶部以及控制一个元素在右下角的固定位置的方法
- vue使用$emit时,父组件无法监听到子组件的事件
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
- Vue.js自定义事件的表单输入组件方法
- vue使用element-ui的el-input监听不了回车事件的解决方法
- Bootstrap滚动监听组件scrollspy.js使用方法详解
- (转载)JS事件监听 JS:attachEvent和addEventListener使用方法
- JS事件监听 JS:attachEvent和addEventListener 使用方法
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结