zoukankan
html css js c++ java
保存div与页面滚动条的位置
1
/**/
///
<summary>
2
///
保存div与页面滚动条的位置
3
///
</summary>
9
///
<param name="divId">
DIV的ID数组
</param>
10
public
static
void
RetainScrollPosition(
string
[] divId)
11
{
12
13
System.Web.UI.Page page
=
(Page)HttpContext.Current.Handler;
14
15
string
saveScrollPosition
=
""
;
16
string
setScrollPosition
=
""
;
17
18
string
saveScrollPositionDiv
=
""
;
19
string
setScrollPositionDiv
=
""
;
20
21
保存页面滚动条的状态
#region
保存页面滚动条的状态
22
page.RegisterHiddenField(
"
__SCROLLPOS_TOP
"
,
"
0
"
);
23
page.RegisterHiddenField(
"
__SCROLLPOS_LEFT
"
,
"
0
"
);
24
25
saveScrollPosition
=
"
document.forms[0].__SCROLLPOS_TOP.value = {0}.scrollTop;document.forms[0].__SCROLLPOS_LEFT.value = {0}.scrollLeft;
"
;
//
}{0}.onscroll=saveScrollPosition;</script>";
26
setScrollPosition
=
"
{0}.scrollTop ='{1}';{0}.scrollLeft ='{2}';
"
;
//
}{0}.onload=setScrollPosition;</script>";
27
28
saveScrollPosition
=
string
.Format(saveScrollPosition,
"
window.document.body
"
);
29
setScrollPosition
=
string
.Format(setScrollPosition,
"
window.document.body
"
, page.Request.Form[
"
__SCROLLPOS_TOP
"
],page.Request.Form[
"
__SCROLLPOS_LEFT
"
]);
30
#endregion
31
32
保存divId的位置
#region
保存divId的位置
33
for
(
int
i
=
0
; i
<
divId.Length; i
++
)
34
{
35
page.RegisterHiddenField(divId[i].ToString()
+
"
_TOP
"
,
"
0
"
);
36
page.RegisterHiddenField(divId[i].ToString()
+
"
_LEFT
"
,
"
0
"
);
37
38
saveScrollPositionDiv
=
"
<script language='javascript'>function saveScrollPosition
"
+
divId[i].ToString()
+
"
() {{document.all('
"
+
divId[i].ToString()
+
"
_TOP').value = {0}.scrollTop;document.all('
"
+
divId[i].ToString()
+
"
_LEFT').value = {0}.scrollLeft;}}{0}.onscroll=saveScrollPosition
"
+
divId[i].ToString()
+
"
;</script>
"
;
39
setScrollPositionDiv
+=
"
{0}.scrollTop = {1};{0}.scrollLeft = {2};
"
;
40
41
saveScrollPositionDiv
=
string
.Format(saveScrollPositionDiv,
"
window.document.all('
"
+
divId[i].ToString()
+
"
')
"
);
42
page.RegisterStartupScript(
"
saveScroll
"
+
divId[i].ToString(), saveScrollPositionDiv);
43
44
setScrollPositionDiv
=
string
.Format(setScrollPositionDiv,
"
window.document.all('
"
+
divId[i].ToString()
+
"
')
"
, page.Request.Form[divId[i].ToString()
+
"
_TOP
"
],page.Request.Form[divId[i].ToString()
+
"
_LEFT
"
]);
45
}
46
#endregion
47
48
注册客户端脚本
#region
注册客户端脚本
49
saveScrollPosition
=
"
<script language='javascript'>function saveScrollPosition() {{
"
+
saveScrollPosition
+
"
}}{0}.onscroll=saveScrollPosition;</script>
"
;
50
page.RegisterStartupScript(
"
saveScroll
"
,
string
.Format(saveScrollPosition,
"
window.document.body
"
));
51
52
if
(page.IsPostBack)
53
{
54
setScrollPosition
=
"
<script language='javascript'>function setScrollPosition() {{
"
+
setScrollPosition
+
setScrollPositionDiv
+
"
}}{0}.onload=setScrollPosition;</script>
"
;
55
page.RegisterStartupScript(
"
setScroll
"
,
string
.Format(setScrollPosition,
"
window.document.body
"
));
56
//
page.RegisterStartupScript("setScrollDocument", string.Format(setScrollPosition,"window.document.body", page.Request.Form["__SCROLLPOS_TOP"],page.Request.Form["__SCROLLPOS_LEFT"]));
57
}
58
#endregion
59
60
}
查看全文
相关阅读:
@support浏览器兼容判断 以及 @media媒体查询
关于BFC的总结
JS—二维数组的创建
JS—操作符优先级
JS—事件对象
JS—事件
DOM—addEventListener() & removeEventListener()
高级算法——动态规划(斐波那契函数实例)
对象字面量的使用
小程序日历 IOS真机预览问题
原文地址:https://www.cnblogs.com/ghd258/p/270441.html
最新文章
python计算文件md5值
Elasticsearch5.x安装及常见错误的解决方法
ftpClient.listFiles()无法获取ftp文件名列表
linux下ftp配置文件简单说明
解决Mysql中文乱码问题
linux上jar包后台运行的方法
linux下查看进程的命令,ps | grep 和 ps aux | grep 区别简要
Mysql中select into from用法
jquery中datagrid中getSelected和getSelections的用法
onTouchEvent,onClick,onLongClick的return值和事件响应顺序
热门文章
java读入URL数据
Bitmap 压缩 compress 示例
html中link标签的属性总结
https协议的网站内部不能发送http协议头的请求
对网页是否为当前展示标签页、是否最小化、以及是否后台运行进行监听
js 数组的slice方法可以将类数组对象转化为数组
对iframe的探究
webpack打包项目时typescript报错The 'files' list in config file 'tsconfig.json' is empty.的解决方法
react 动态组件加载器
为什么在写css时尽量使用class而不使用id来标记元素
Copyright © 2011-2022 走看看