1. <template>
  2. <div class="hello" @scroll="scrollLoad" id="myScrollBox">
  3. <h1>{{ msg }}</h1>
  4. <ul>
  5. <li class="my-li">aaaaaaaaa</li>
  6. <li class="my-li">aaaaaaaaa</li>
  7. <li class="my-li">aaaaaaaaa</li>
  8. <li class="my-li">aaaaaaaaa</li>
  9. <li class="my-li">aaaaaaaaa</li>
  10. <li class="my-li">aaaaaaaaa</li>
  11. <li class="my-li">aaaaaaaaa</li>
  12. <li class="my-li">aaaaaaaaa</li>
  13. <li class="my-li">aaaaaaaaa</li>
  14. <li class="my-li">aaaaaaaaa</li>
  15. </ul>
  16. <button @click="goForward">go 2</button>
  17. <ul>
  18. <li class="my-li">aaaaaaaaa</li>
  19. <li class="my-li">aaaaaaaaa</li>
  20. <li class="my-li">aaaaaaaaa</li>
  21. <li class="my-li">aaaaaaaaa</li>
  22. <li class="my-li">aaaaaaaaa</li>
  23. <li class="my-li">aaaaaaaaa</li>
  24. <li class="my-li">aaaaaaaaa</li>
  25. <li class="my-li">aaaaaaaaa</li>
  26. <li class="my-li">aaaaaaaaa</li>
  27. <li class="my-li">aaaaaaaaa</li>
  28. </ul>
  29. </div>
  30. </template>
  31.  
  32. <script>
  33. export default {
  34. name: "HelloWorld",
  35. data() {
  36. return {
  37. msg: "this is hello 1 !",
  38. lengthToTop: 0
  39. };
  40. },
  41.  
  42. beforeRouteLeave(to, from, next) {
  43. this.recordViewPortPosition();
  44. next();
  45. },
  46.  
  47. mounted: function() {
  48. this.setViewPortPosition();
  49. },
  50.  
  51. methods: {
  52. goForward: function() {
  53. this.$router.push("h2");
  54. },
  55.  
  56. // 获得距离顶部的位置,暂存一个变量里
  57. // 本方法配合recordViewPortPosition、setViewPortPosition使用
  58. scrollLoad: function() {
  59. let box = document.getElementById("myScrollBox");
  60. this.lengthToTop = box.scrollTop;
  61. },
  62.  
  63. // 离开首页时记录距离顶部的位置,存到sessionStorage里,方便回来时取用
  64. recordViewPortPosition: function() {
  65. sessionStorage.lengthToTop = this.lengthToTop;
  66. },
  67.  
  68. // 离开首页再返回时,重新定位到离开时的位置
  69. setViewPortPosition: function() {
  70. let lengthToTop = sessionStorage.lengthToTop;
  71. if (lengthToTop === null || lengthToTop === undefined) {
  72. lengthToTop = 0;
  73. }
  74. document.getElementById("myScrollBox").scrollTop = lengthToTop; // 距离顶部100px就直接写scrollTop = 100, 不要写100+“px”
  75. }
  76. }
  77. };
  78. </script>
  79.  
  80. <!-- Add "scoped" attribute to limit CSS to this component only -->
  81. <style scoped>
  82. .hello {
  83. position: absolute;
  84. width: 100%;
  85. height: 100%;
  86. overflow: scroll;
  87. }
  88. li {
  89. display: block;
  90. height: 100px;
  91. width: 300px;
  92. border: 1px solid #000;
  93. font-size: 15px;
  94. }
  95. </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. E. Three strings 广义后缀自动机

    http://codeforces.com/problemset/problem/452/E 多个主串的模型. 建立一个广义后缀自动机,可以dp出每个状态的endpos集合大小.同时也维护一个R[]表 ...

  2. (转)rsync数据备份方案

    rsync数据备份方案 原文:http://blog.51cto.com/irow10/1826458 最近整理了下公司的数据备份情况.以下是部分操作的过程 1.rsync数据备份,具体备份过程就不详 ...

  3. [PHP]生成随机数(建立字典)

    代码如下 : //建立有76个字符组成的字典 $pattern='1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM!@#$% ...

  4. Oracle数据库触发器使用(删除触发)

    当我们需要用到触发器的时候,还是很方便,你会指定当我在操作某一事件时触发效果完成我所希望完成的事情:这就是触发器, 下面我给大家上一串代码,这是一个当我在操作删除事件操作时候,我希望把即将删除那条数据 ...

  5. WinRAR(WinZip)压缩与解压实现(C#版Window平台)

    本文的原理是借助Windows平台安装的WinRAR(WinZip)实现C#程序的调用(注:WinRAR压缩解压WinZip同样适用). 先来看WinRAR(WinZip)自身的支持调用命令: 压缩命 ...

  6. laravel安装时openssl_encrypt() 的问题?Call to undefined function openssl_decrypt()

    解决方案: 如果通过上面的步骤还是不能解决参考如下: 1.从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll 然后 覆盖掉apache/bin 下的对应文件(注意需要将h ...

  7. 切图让我进步!关于white-space属性的组合拳

    菜鸟一枚,没有大神的风骚,只有一点在练习中的心得,今天获得的知识是关于white-space属性.overflow属性还有text-overflow属性的组合使用,废话不多说浪费时间,进入今天的正题! ...

  8. Quartz Cron表达式的二三事

    最近在解决产品上的一个需求,就是定期生成报告(Report),我们叫做Scheduled Report. 原理:UI获取用户输入的时间信息,后台使用Spring框架设置定时任务,这里定时任务用的就是  ...

  9. 最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)

    #include "stdio.h" #include "stdlib.h" #define random(x) (rand()%x) void creat_a ...

  10. iphone 微信下浏览器中数字去除下划线

    在开发iphone应用程序的时候,safari下手机号码默认是有下划线的,通过下面的方法就可以去掉: <meta name="format-detection" conten ...