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
}
查看全文
相关阅读:
PyCharm下载和安装教程(包含配置Python解释器)
C#解压、压缩RAR文件
使用ADSI获取IIS版本
SqlCommand.Parameters其实是用的存储过程sp_executesql
C#将文件从指定的目录复制到另一个目录
C#如何获取快捷方式指向的目标文件
winform程序未捕获异常解决方法 EventType clr20r3 P1
WebClient 下载文件
获取所有的用户表
C#操作IIS回收应用程序池,兼容iis6和iis7
原文地址:https://www.cnblogs.com/ghd258/p/270441.html
最新文章
部署MCV 的时候,老是会跳到 Account/Login?ReturnUrl=%2f 这里去。
ASP.NET MVC DropDownList扩展,实现foreach@Html.DropDownListFor(p=>p.Type,p.Type,TypeItem)
asp.net mvc3 MySql数据库,保存数据库乱码
操作数据库(MySql)表的扩展方法类,对单表可以进行增、删、改、查。
操作数据库(MySql)表的扩展方法类,对单表可以进行增、删、改、查。
ASP.NET MVC DropDownList扩展,实现foreach@Html.DropDownListFor(p=>p.Type,p.Type,TypeItem)
Silverlight/wpf DataGrid TextBox 等控件内容 Binding 中日期格式 StringFormat
Silverlight/wpf DataGrid TextBox 等控件内容 Binding 中日期格式 StringFormat
MySQL 存储过程传参数问题:实现 where id in(1,2,3,...)
MySQL 存储过程传参数问题:实现 where id in(1,2,3,...)
热门文章
Installing BCM4313 driver in Centos6.2
centos下安装texlive
linux下自动挂载硬盘
【达内C++学习培训学习笔记系列】C语言之二scanf和选择语句
Installing virtualbox4.1 in centos6.2
【达内C++学习培训学习笔记系列】C语言之一运算符
oracle客户端plsql设置(windows7)
用DbVisualizer管理oracle数据库(ubuntu9.10)
js绑定带参数的事件以及手动触发事件
SQL中Group分组获取Top N 方法实现
Copyright © 2011-2022 走看看