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如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
Apr 20 Javascript
javascript+xml技术实现分页浏览
Jul 27 Javascript
关于JavaScript与HTML的交互事件
Apr 12 Javascript
javascript实现控制div颜色
Jul 07 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
学习JavaScript设计模式之享元模式
Jan 18 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
vue select二级联动第二级默认选中第一个option值的实例
Jan 10 Javascript
JS中Object对象的原型概念基础
Jan 29 Javascript
JS操作字符串转数字的常见方法示例
Oct 29 Javascript
VUEX-action可以修改state吗
Nov 19 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调用mysql存储过程
2007/02/14 PHP
比较时间段一与时间段二是否有交集的php函数
2011/05/31 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php实现复制移动文件的方法
2015/07/29 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
php微信支付接口开发程序
2016/08/02 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
详解django2中关于时间处理策略
2019/03/06 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
Python基于execjs运行js过程解析
2020/11/27 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
大学生毕业自我鉴定
2013/11/06 职场文书
球队口号
2014/06/18 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
机关单位保密工作责任书
2015/05/11 职场文书
医院病假条怎么写
2015/08/17 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书