使用方法很简单,将这下面的代码存为一个ScrollHolder.js文件,然后在网页Head中加入:
代码:
<script language="javascript" src="ScrollHolder.js"></script>
代码:
/*
* 这个脚本用于保持页面跳转前后滚动条的位置一致
* bnc.badboy
* 2009-8-24
*/
function ScrollHolder()
{
//add event to window
this.addWindowListener = function(sEventType, fnHandler) {
if (window.addEventListener) {
window.addEventListener(sEventType, fnHandler, false);
} else if (window.attachEvent) {
window.attachEvent("on" + sEventType, fnHandler);
} else {
window["on" + sEventType] = fnHandler;
}
}
//remember scrolling information when window is unloading
this.whenUnload = function()
{
var scrollTop = document.documentElement.scrollTop;
document.cookie = "scrollTop="+scrollTop;
}
//set current scroll bar the last page scroll bar position
this.whenLoad = function()
{
var scrollTop = document.cookie.match(new RegExp("(^| )scrollTop=([^;]*)(;|$)"));
if(scrollTop==null)
scrollTop = 0;
window.scrollTo(0,scrollTop[2]);
}
//run this script
this.run = function()
{
this.addWindowListener("unload", this.whenUnload);
this.addWindowListener("load", this.whenLoad);
}
}
var scrollHolder = new ScrollHolder();
scrollHolder.run();