`
nakupanda
  • 浏览: 410812 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

一个使用方便的用于跳转后保持滚动条位置的JS

阅读更多
使用方法很简单,将这下面的代码存为一个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();
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics