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 相关文章推荐
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
javascript:文字不间断向左移动的实例代码
Aug 08 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
jquery解析xml字符串简单示例
Apr 11 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
jQuery中animate()方法用法实例
Dec 24 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
给php新手谈谈我的学习心得
2007/02/25 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
javascript事件监听与事件委托实例详解
2019/08/16 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
python音频处理的示例详解
2020/12/23 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
药剂专业学生求职信范文
2013/12/28 职场文书
我爱我家教学反思
2014/05/01 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android