vue进入页面时不在顶部以及检测滚动返回顶部按钮如何解决
本篇内容主要讲解"vue进入页面时不在顶部以及检测滚动返回顶部按钮如何解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"vue进入页面时不在顶部以及检测滚动返回顶部按钮如何解决"吧!
1.监测浏览器滚动条滚动事件及滚动距离
dmounted() { window.addEventListener("scroll", this.gundong); }, destroyed() { window.removeEventListener("scroll", this.gundong); }, methods: { gundong() { var dis = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; if(dis > 120){ this.flag = true }else{ this.flag = false } },
一般给window绑定监测事件就能获得window.pageYOffset滚动距离。
2.有些时候给body设置了{width:100%,height:100%},
之后就需要将事件绑定在document.body
,才能获得document.body.scrollTop
滚动距离。
2.1PC端IE/edge有滚动事件但通过document.body.scrollTop
获取不到数值。
2.2移动端火狐浏览器这样设置没问题也能获取document.body.scrollTop,百度浏览器和华为手机自带的浏览器获取不到。以下有解决方法
vue进入页面时不在顶部
可以在main.js中写入以下
router.afterEach((to, from) => { window.scrollTo(0,0);});
或者用vue-router中的,需要浏览器支持history.pushState
scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition } else { return { x: 0, y: 0 } }}
如果因为需要设置了body{width:100%,height:100%}
以上就不适用了
我是将vue最外层的#app-container也设置了{width:100%;height:100%}
,如果需要隐藏滚动条这时的样式,其他浏览器隐藏样式
html,body,#app-container{ width: 100%; height: 100%; overflow: scroll;}html::-webkit-scrollbar, body::-webkit-scrollbar,#app-container::-webkit-scrollbar{width:0px;height:0px;}
此时可以在#app-contianer上绑定滚动事件并检测滚动距离
scrollEvent(e) { var dis = e.srcElement.scrollTop; console.log(dis) if (dis > 150) { this.flag = true; } else { this.flag = false; } }返回顶部按钮
backTop() { this.$el.scrollTop = 0; }进入页面在顶部
var vm = new Vue({ router, store, render: h => h(App)}).$mount("#app");router.afterEach((to, from) => { vm.$el.scrollTop = 0;});这样在PC端和移动端那几个浏览器都能正常运作。
到此,相信大家对"vue进入页面时不在顶部以及检测滚动返回顶部按钮如何解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
顶部 浏览器 浏览 页面 事件 按钮 检测 内容 方法 样式 学习 监测 移动 实用 更深 下有 兴趣 外层 实用性 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州电商软件开发哪里有 河南东豫网络技术有限公司 一般网络游戏服务器的安装 邮件服务器是边缘部分吗 局平台使用网络安全管理制度 数据库设计资源表 软件定义网络技术黄辉版答案 苏州项目软件开发销售电话 科密a1 未连接数据库 数据库库中的溢出块 项目软件开发成果文件 上海 棋牌软件开发 网络安全专业人才缺失存在问题 斗罗大陆服务器的地址 高斯数据库 论文 北大核心万方数据库怎么选择 毫米云服务器要实名认证吗 全栈网络安全班 魔兽世界怀旧服装备数据库70 pdb数据库 济南地区好用的dns服务器 乌苏新华互联网科技做什么的 数据库系统运行的最小逻辑单元是 网络安全主要涉及领域总共有几个 郑州全国网络安全周 网络技术教学视频+百度云 高淳区软件开发专业服务 cad软件开发招聘 日本樱田义孝网络安全 计算机网络技术在物流