这个方法是一个通用的方法,不需要每个页面都写一次,这是利用页面的cookie完成的,把记录的滚动条的位置放入cookie,下次进入这个页面的时候读取cookie,并设置滚动条位置为cookie中的值,从而让滚动条回到上一次的位置,返回上一浏览的位置,如果多个页面是用这个功能,那就要定义多个cookie来记录不同页面的滚动高度,为了解决这一问题使用了一个相对简单的方法,就是cookie的值是以页面的文件名命名,js中创建cookie时,自动获取网页路径,截取页面的文件名,并将cookie名设置为文件名,就这样可以避免多次命名,从而减少了代码。
具体实现的代码如下:
/*返回上次浏览的位置*/
$(fnction(){
var str=window.location.href;
str =str.substring(str,lastIndexOf("/)+1);
if($.cookie(str)){
$("html,body").animate({scrollTop:$.cookie(str)},1000);
}else{
}
})
$(window).scroll(function () {
var str = window.location.href;
str = str.substring(str.lastIndexOf("/") + 1);
var top = $(document).scrollTop();
$.cookie(str, top, { path: '/' });
return $.cookie(str);
})
/*返回上次浏览位置*/
这个是用jquery写的,所以用的时候要引入jquery库,和jquery.cookie.js
原文链接:https://q.cnblogs.com/q/71116/