<template>
<div class="hello" @scroll="scrollLoad" id="myScrollBox">
<h1>{{ msg }}</h1>
<ul>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
</ul>
<button @click="goForward">go 2</button>
<ul>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
<li class="my-li">aaaaaaaaa</li>
</ul>
</div>
</template> <script>
export default {
name: "HelloWorld",
data() {
return {
msg: "this is hello 1 !",
lengthToTop: 0
};
}, beforeRouteLeave(to, from, next) {
this.recordViewPortPosition();
next();
}, mounted: function() {
this.setViewPortPosition();
}, methods: {
goForward: function() {
this.$router.push("h2");
}, // 获得距离顶部的位置,暂存一个变量里
// 本方法配合recordViewPortPosition、setViewPortPosition使用
scrollLoad: function() {
let box = document.getElementById("myScrollBox");
this.lengthToTop = box.scrollTop;
}, // 离开首页时记录距离顶部的位置,存到sessionStorage里,方便回来时取用
recordViewPortPosition: function() {
sessionStorage.lengthToTop = this.lengthToTop;
}, // 离开首页再返回时,重新定位到离开时的位置
setViewPortPosition: function() {
let lengthToTop = sessionStorage.lengthToTop;
if (lengthToTop === null || lengthToTop === undefined) {
lengthToTop = 0;
}
document.getElementById("myScrollBox").scrollTop = lengthToTop; // 距离顶部100px就直接写scrollTop = 100, 不要写100+“px”
}
}
};
</script> <!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.hello {
position: absolute;
width: 100%;
height: 100%;
overflow: scroll;
}
li {
display: block;
height: 100px;
width: 300px;
border: 1px solid #000;
font-size: 15px;
}
</style>

页面跳转,A跳到B,B再返回A时自动定位到离开A时的位置的更多相关文章

  1. 解决TabActivity中子页面不通过导航跳转到还有一个页面的问题

    问题:当你的导航在TabActivity中 而子页面的一个button须要切换到当中的某一个导航页面 转载请注明出处:http://blog.csdn.net/x605940745 demo下载地址: ...

  2. model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)

    model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转:解决的方法是用responsewrite

  3. java ee 中 Jsp 页面的定时的跳转(数字倒数)

    java ee 中 Jsp 页面的定时的跳转,实现数字倒计时跳转固定页面 1,Servlet类  RefreshServlet类实现 package org.servlet; import java. ...

  4. html(对php也有效)页面自动刷新和跳转(简单版本)

    <html>    <head><title>html页面自动刷新和跳转</title><meta http-equiv="Refres ...

  5. struts2拦截器实现session超时返回登录页面(iframe下跳转到其父页面)

    需求:session超时时,返回登录页面,由于页面嵌套在iframe下,因此要跳转到登录页面的父页面,但是首页,登录页面等不需要进行跳转 实现: java文件:SessionIterceptor.ja ...

  6. Visual Studio中View页面与Js页面用快捷键互相跳转

    现在已经将源码放到GitHub中了 地址是 https://github.com/liningit/ViewJsLN 公司开发的项目使用的是Mvc框架,且Js与View页面是分开在两个文件夹下的,所以 ...

  7. js页面3秒自动跳转

    如何让当前页面3秒以后自动跳转到其他页面?JS页面自动跳转 想实现登陆后3秒自动跳转到某页的功能,在网上搜了一下,供以后使用 1.<script   language= "javasc ...

  8. 使用了frame的页面如何整体进行跳转,而不是仅frame跳转

    使用了frame的页面如何整体进行跳转,而不是仅frame跳转 js window.parent.location.href="你的地址"; php echo "&quo ...

  9. JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。

    JavaBean组件 JavaBean组件实际是一种java类.通过封装属性和方法成为具有某种功能或者处理某个业务的对象. 特点:1.实现代码的重复利用.2.容易编写和维护.3.jsp页面调用方便. ...

随机推荐

  1. input元素的blur事件与定位在其上面的元素的点击(click)事件冲突的解决方法

    在登录和注册框中,在input上定位一个清空内容的按钮. 但是给按钮的单击事件不生效. 解决的办法: 在blur的回调函数中加一个定时器,延迟blur回调函数的执行时间,这样的话虽然在点击div的时候 ...

  2. [转]Knockoutjs快速入门

    本文转自:http://www.cnblogs.com/yinzixin/archive/2012/12/21/2827356.html Knockoutjs是一个JavaScript实现的MVVM框 ...

  3. rail 怎样在已有数据库上继续开发

    今天刷贴看到了这篇文章http://ruby-china.org/topics/16493,老大回复的很有意义,在这里备份一个 而要把现有的数据库纳入 Migration,一个简单方法: 创建一个空 ...

  4. firefox插件-自动化测试工具-selenium IDE

    教程:http://www.yiibai.com/selenium/selenium_download_ide.html 下载地址:https://addons.mozilla.org/en-US/f ...

  5. Jersey前后端交互初体验

    一 get请求 前端 基本的GET请求 $.ajax({ type : "get", url : "../rest/api/account/delete", d ...

  6. javascript 数组方法拼接html标签

    var htmls = new Array(); htmls.push("<tr class='otherinfotr'>");htmls.push("< ...

  7. ASP.NET 4.5 尚未在 Web 服务器上注册。您需要手动将 Web 服务器配置为使用 ASP.NET 4.5,这样您的网站才能正确运行。

    系统换成Windows10安装VS2012打开项目总提示:vs2012 aps.NET 4.5尚未在web服务器上注册,您需要手动将Web服务器配置为使用ASP.Net 4.5,这样您的网站才可能正确 ...

  8. Vue.js双向数据绑定模板渲染

    准备知识 1. 前端开发基础 html.css.js2. 前端模块化基础3. 对ES6有初步的了解 vuejs官网:cn.vuejs.org HTML: <!DOCTYPE html> & ...

  9. 增加ssh无密码信任连接的安全性

    为了方便系统管理或者服务器运维自动化,我们通常要在服务器间做ssh无密码信任连接. 环境:目标主机    centos7    192.168.150.110操作主机    centos7-cn 19 ...

  10. mysql:用cmd启动mysql服务被拒绝原因

    原因是命令行的权限不够,需要以管理员模式运行,然后输入net start mysql  即可启动mysql服务