使用方法很简单,将这下面的代码存为一个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();