vue回到顶部监听滚动事件详解


Posted in Javascript onAugust 02, 2019

本文实例为大家分享了vue回到顶部监听滚动事件,供大家参考,具体内容如下

鼠标滚到到页面中间出现的工具浮框

<template>
<div class="tools">
<ul @mouseleave="mouseLeave()">
<li @click="toTop(step)">回到顶部</li>
<li @mouseover="mouseOver(1)">QQ</li>
<li @mouseover="mouseOver(2)">微信</li>
</ul>
<div v-if="showIndex === 1">玩QQ</div>
<div v-if="showIndex === 2">玩微信</div>
</div>
</template>
<script>
export default {
 name: 'FloatTools',
 props: {
 step: { //此数据是控制动画快慢的
  type: Number,
  default: 50
 }
 },
 data() {
 return {
  isActive: false,
  showIndex:0//默认显示下标
 }
 },
 methods: {
 toTop(i) {
  //参数i表示间隔的幅度大小,以此来控制速度 
  document.documentElement.scrollTop -= i;
  if (document.documentElement.scrollTop > 0) {
  var c = setTimeout(() => this.toTop(i), 16);
  } else {
  clearTimeout(c);
  }
 },
 handleScroll() {
  //获取滚动距顶部的距离,显示
  let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
  if (scrollTop > 60) {
  this.isActive = true;
  } else {
  this.isActive = false;
  }
 },
 mouseOver(index) {
 //鼠标移到哪个工具上,对应内容显示出来
  this.showIndex = index;
 },
 mouseLeave(){
 //鼠标移出工具区域后1秒,内容区域消失 
  let timer = setTimeout(() => {
   this.showIndex = 0;
   clearTimeout(timer)
  }, 500);
 }
 },
 mounted: function () {
 window.addEventListener('scroll', this.handleScroll, true); // 监听(绑定)滚轮滚动事件
 },
 destroyed() {
 window.removeEventListener('scroll', this.handleScroll); //离开页面需要移除这个监听的事件
 }

}
</script>

如果遇到scroll一直打印是0,看是否样式写了overflow:auto去掉即可;或者给父级撑满屏幕;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
js中this的用法实例分析
Jan 10 Javascript
基于JavaScript操作DOM常用的API小结
Dec 01 Javascript
javascript基础知识分享之类与函数化
Feb 13 Javascript
从零学习node.js之mysql数据库的操作(五)
Feb 24 Javascript
javascript 判断一个对象为数组的方法
May 03 Javascript
jQuery异步提交表单实例
May 30 jQuery
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
原生js实现ajax请求和JSONP跨域请求操作示例
Mar 14 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
Oct 20 Javascript
微信小程序npm引入vant-weapp的踩坑记录
Aug 01 #Javascript
vue3.0中的双向数据绑定方法及优缺点
Aug 01 #Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
Aug 01 #Javascript
微信小程序使用Vant Weapp组件库的方法步骤
Aug 01 #Javascript
微信小程序中button去除默认的边框实例代码
Aug 01 #Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 #Javascript
jQuery中DOM常见操作实例小结
Aug 01 #jQuery
You might like
快速开发一个PHP扩展图文教程
2008/12/12 PHP
php flv视频时间获取函数
2010/06/29 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php实现微信发红包功能
2018/07/13 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
使用python遍历指定城市的一周气温
2017/03/31 Python
深入理解Python3 内置函数大全
2017/11/23 Python
详解Python locals()的陷阱
2019/03/26 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
取保候审保证书
2014/04/30 职场文书
关于诚信的活动方案
2014/08/18 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
领导欢迎词致辞
2015/01/23 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
初中班主任心得体会
2016/01/07 职场文书