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增加时编辑jqGrid(实例代码)
Nov 08 Javascript
DOM 事件流详解
Jan 20 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
在Vue中使用Compass的方法
Mar 02 Javascript
Layui 设置select下拉框自动选中某项的方法
Aug 14 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
Apr 17 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
Nov 14 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 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
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python 为什么说eval要慎用
2019/03/26 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
电大学习个人自我评价范文
2013/10/04 职场文书
支部书记四风对照材料
2014/08/28 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL
Android studio 简单计算器的编写
2022/05/20 Java/Android