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 简单高效判断数据类型 系列函数 By shawl.qiu
Mar 06 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
javascript验证身份证号
Mar 03 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
使用React手写一个对话框或模态框的方法示例
Apr 25 Javascript
JavaScript中工厂函数与构造函数示例详解
May 06 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 Javascript
vue使用nprogress实现进度条
Dec 09 Javascript
JavaScript实现下拉列表
Jan 20 Javascript
详解JS数组方法
Nov 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的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
jQuery1.6 使用方法一
2011/11/23 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
jQuery基本过滤选择器使用介绍
2013/04/18 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
jquery获取节点名称
2015/04/26 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
Python实现栈的方法
2015/05/26 Python
python对象及面向对象技术详解
2016/07/19 Python
通过Python 接口使用OpenCV的方法
2018/04/02 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
python 使用socket传输图片视频等文件的实现方式
2019/08/07 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python是否适合网页编程详解
2019/10/04 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
2014年创先争优工作总结
2014/12/11 职场文书
社区服务理念口号
2015/12/25 职场文书