yangkaiyangyi / prombles

0 stars 0 forks source link

关于页面切换,返回(退回)时,页面还是原浏览位置,项目需求是记住原浏览位置,而不是重新刷新回到顶部 #19

Open yangkaiyangyi opened 5 years ago

yangkaiyangyi commented 5 years ago

列表页->详情页出现的问题 关于浏览位置的记录解决办法: 思路:1.页面滚动,将滚动位置存到session中--->2.再次进到页面中,到session中取出上次保存的浏览位置-3.滚动到对应位置

jq写法: //滚动时,保存滚动位置

$(window).scroll(function(){
  if($(document).scrollTop()!=0){
     sessionStorage.setItem("offsetTop",$(window).scrollTop());//保存滚动位置
}
})
//onload时,取出并滚动到上次保存位置
window.onload = function(){
  var _offset = sessionStorage.getItem("offsetTop");
$(document).scrollTop(_offset)

}
yangkaiyangyi commented 5 years ago

在Vue项目中,当我们在A页面滚动到中间位置, 然后跳转到B,在从B进入到A页面时,本应该回到A页面顶部,但是由于使用keep-alive组件缓存页面,A页面会滚动道上次位置。为解决这个问题,我们需要使用vue-router中的scrollBehavior。

详细链接