這個方法是一個通過的方法,不需要每個頁面都寫一次,這是利用cookie完成的,把記錄的滾動條的位置放入cookie,下次進入這個頁面的時候讀取cookie,并設置滾動條位置為cookie中的值,從而讓滾動條回到上一次的位置,實現返回上一次瀏覽的位置,如果多個頁面要使用這個功能,那就要定義多個cookie來記錄不同頁面滾動高度,為了解決這個問題使用了一個相對簡單的方法,就是cookie的值是以頁面的文件名命名,js中創建cookie時,自動獲取網頁路徑,截取頁面的文件名,并將cookie名設置為此文件名,這樣就可以避免多次命名,從而減少了代碼
具體實現的代碼如下:
/*返回上次瀏覽位置*/
$(function () {
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.cookie.js
在線jquery.cookie.js路徑:'https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js'