用JS实现页面滚动位置保持的方法
2006-05-29 12:11
981 查看
c#
step 1
replace the tag of <body> with the follewing codes:
<%
if (Request["__SCROLLPOS"] != null &&
Request["__SCROLLPOS"] != String.Empty) {
int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value = " +
"theBody.scrollTop;\" " +
"onload=\"javascript:theBody.scrollTop=" + pos + ";\">");
}
else {
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value =" +
"theBody.scrollTop;\">");
}
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
vb
step 1
replace the tag of <body> with the follewing codes:
<%
If Not Request("__SCROLLPOS") Is Nothing then
if Request("__SCROLLPOS") <> String.Empty Then
Dim pos As Integer = CType(Request("__SCROLLPOS"), Integer)
Response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value = theBody.scrollTop;"" onload=""javascript:theBody.scrollTop=" + pos.tostring + ";"">")
end if
else
response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value =theBody.scrollTop;"">")
end if
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
js版的:)
<!--
Created by 宝玉 , 2004-2-21 http://www.webuc.net
Description: 记录页面上次的滚动条位置
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 记录滚动条位置 </TITLE>
<script language="javascript">
<!--
// 获取当前文件名
function getFileName()
{
var url = this.location.href
var pos = url.lastIndexOf("/");
if(pos == -1)
pos = url.lastIndexOf("\\")
var filename = url.substr(pos +1)
return filename;
}
function fnLoad()
{
with(window.document.body)
{
addBehavior ("#default#userData"); // 使得body元素可以支持userdate
load("scrollState" + getFileName()); // 获取以前保存在userdate中的状态
scrollLeft = getAttribute("scrollLeft"); // 滚动条左位置
scrollTop = getAttribute("scrollTop");
}
}
function fnUnload()
{
with(window.document.body)
{
setAttribute("scrollLeft",scrollLeft);
setAttribute("scrollTop",scrollTop);
save("scrollState" + getFileName());
// 防止受其他文件的userdate数据影响,所以将文件名加上了
// userdate里的数据是不能跨目录访问的
}
}
window.onload = fnLoad;
window.onunload = fnUnload;
// -->
</script>
</HEAD>
step 1
replace the tag of <body> with the follewing codes:
<%
if (Request["__SCROLLPOS"] != null &&
Request["__SCROLLPOS"] != String.Empty) {
int pos = Convert.ToInt32 (Request["__SCROLLPOS"]);
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value = " +
"theBody.scrollTop;\" " +
"onload=\"javascript:theBody.scrollTop=" + pos + ";\">");
}
else {
Response.Write ("<body id=\"theBody\" " +
"onscroll=\"javascript:document.forms[0].__SCROLLPOS.value =" +
"theBody.scrollTop;\">");
}
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
vb
step 1
replace the tag of <body> with the follewing codes:
<%
If Not Request("__SCROLLPOS") Is Nothing then
if Request("__SCROLLPOS") <> String.Empty Then
Dim pos As Integer = CType(Request("__SCROLLPOS"), Integer)
Response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value = theBody.scrollTop;"" onload=""javascript:theBody.scrollTop=" + pos.tostring + ";"">")
end if
else
response.Write("<body id=""theBody"" onscroll=""javascript:document.forms[0].__SCROLLPOS.value =theBody.scrollTop;"">")
end if
%>
step 2
add the follewing codes between <form> and </form>
<input type="hidden" name="__SCROLLPOS" value="" />
js版的:)
<!--
Created by 宝玉 , 2004-2-21 http://www.webuc.net
Description: 记录页面上次的滚动条位置
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 记录滚动条位置 </TITLE>
<script language="javascript">
<!--
// 获取当前文件名
function getFileName()
{
var url = this.location.href
var pos = url.lastIndexOf("/");
if(pos == -1)
pos = url.lastIndexOf("\\")
var filename = url.substr(pos +1)
return filename;
}
function fnLoad()
{
with(window.document.body)
{
addBehavior ("#default#userData"); // 使得body元素可以支持userdate
load("scrollState" + getFileName()); // 获取以前保存在userdate中的状态
scrollLeft = getAttribute("scrollLeft"); // 滚动条左位置
scrollTop = getAttribute("scrollTop");
}
}
function fnUnload()
{
with(window.document.body)
{
setAttribute("scrollLeft",scrollLeft);
setAttribute("scrollTop",scrollTop);
save("scrollState" + getFileName());
// 防止受其他文件的userdate数据影响,所以将文件名加上了
// userdate里的数据是不能跨目录访问的
}
}
window.onload = fnLoad;
window.onunload = fnUnload;
// -->
</script>
</HEAD>
相关文章推荐
- js,jquery滚动/跳转页面到指定位置的实现思路
- JS实现随页面滚动显示/隐藏窗口固定位置元素
- js将滚动条滚动到指定位置的简单实现方法
- js,jquery滚动/跳转页面到指定位置的实现思路
- js实现分享到随页面滚动而滑动效果的方法
- html js点击按钮滚动跳转定位到页面指定位置(DIV)的方法代码
- js实现一个长页面中的图片懒加载即滚动到其位置才加载
- JS实现随页面滚动显示/隐藏窗口固定位置元素
- js实现页面滚动切换导航栏/点击导航栏跳转到指定位置
- js实现浮动框跟随页面滚动,最后停留在原来位置
- js将滚动条滚动到指定位置的简单实现方法
- 用wow.js实现滚动页面时触发CSS 动画效果的插件
- js实现滚动条滚动到页面底部继续加载
- JS实现部分HTML固定页面顶部随屏滚动效果
- JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
- Android GridView实现滚动到指定位置的方法
- vue.js-div滚动条隐藏但有滚动效果的实现方法
- ASP.NET小技巧——回传后保持页面的滚动位置
- JS实现刷新父页面不弹出提示框的方法