<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. str 操作方法

    # str 类,字符串 # name ='alex' # 首字母变大写 # test ='alex' # v= test.capitalize() # print(v) # # 大写全部变小写 # t ...

  2. 【3dsMax安装失败,如何卸载、安装3dMax 2017?】

    是不是遇到MAYA/CAD/3DSMAX/INVENTOR安装失败?AUTODESK系列软件着实令人头疼,MAYA/CAD/3DSMAX/INVENTOR安装失败之后不能完全卸载!!!(比如maya, ...

  3. maya2016安装失败如何卸载重装

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  4. PlayMaker 状态机FSM重用

    注意:playmaker做模板的时候不应该有拖入的东西,这样保存模版后会报错,提示容易丢失东西.

  5. Unity Animation动画倒播

  6. 性能测试工具Jmeter04-脚本录制

    Jmeter脚本录制:不推荐使用,这里就不介绍了 Badboy脚本录制 下载地址:http://www.badboy.com.au Badboy是一个强大的工具,旨在帮助测试和开发复杂的动态应用.Ba ...

  7. [转]HTML字符实体(Character Entities),转义字符串(Escape Sequence)

    为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用.这些符号是不显示在我们最终看到的网页里的,那如果我们希 ...

  8. docker~service将容器日志输出到fluentd

    我们把微小的服务发布到docker里,然后实现docker service启动它,保证了服务的高可用性,然后把服务产生的日志输出到fluentd,由它进行过滤和转发,存储到elasticsearch里 ...

  9. Solaris常用命令

    目录: 1.man <要查的命令名字> 2.ls 相当于DOS的dir3.clear 相当于DOS的cls,清除屏幕上的内容4.mkdir <目录名> 相当于DOS的md,新建 ...

  10. Spring Boot集成Reactor事件处理框架的简单示例

    1. Reactor简介 Reactor 是 Spring 社区发布的基于事件驱动的异步框架,不仅解耦了程序之间的强调用关系,而且有效提升了系统的多线程并发处理能力. 2. Spring Boot集成 ...