|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
一般来说很多的人在控制浏览器滚动条都是用Page.SmartNavigation = False,对于页面中DIV等等的滚动条控制,我在看了别人代码后,写了一个,仅供参考: Public Shared Sub SaveDivScrollPosition(ByVal divIDArray As String, ByVal objPage As Page) Dim saveScrollPosition As String Dim i As Integer Dim divID() As String divID = divIDArray.Split(",") For i = 0 To divID.Length - 1 objPage.RegisterHiddenField(divID(i) & "__SCROLLPOS", objPage.Request.Form(divID(i) & "__SCROLLPOS")) saveScrollPosition = "<script language=\\\'javascript\\\'>" _ & "function saveScrollPosition() {" _ & " if (document.all[\\\'" & divID(i) & "\\\'] != undefined) {" _ & "document.forms[0]." & divID(i) & "__SCROLLPOS.value = " _ & "document.all[\\\'" & divID(i) & "\\\'].scrollTop + \\\',\\\' " _ & " + document.all[\\\'" & divID(i) & "\\\'].scrollLeft;}}" _ & "if (document.all[\\\'" & divID(i) & "\\\'] != undefined) {document.all[\\\'" & divID(i) & "\\\'].onscroll=saveScrollPosition;}" _ & "</script>" objPage.RegisterStartupScript("saveScroll" & divID(i), saveScrollPosition) Next End Sub Public Shared Sub RestoreDivScrollPosition(ByVal divIDArray As String, ByVal objPage As Page) Dim restoreScrollPosition As String Dim setPositionFunction As String Dim i As Integer Dim divID() As String divID = divIDArray.Split(",") For i = 0 To divID.Length - 1 setPositionFunction = setPositionFunction & "SetScrollPosition(\\\'" & divID(i) & "\\\');" Next restoreScrollPosition = "<script language=\\\'javascript\\\'>" _ & setPositionFunction _ & "</script>" objPage.RegisterStartupScript("restoreScroll", restoreScrollPosition) End Sub JAVASCRIPT: function SetScrollPosition(divID){ var e; var a; var obj; if (document.getElementById(divID)){ obj = eval(\\\'document.forms[0].\\\' + divID + \\\'__SCROLLPOS\\\'); if (obj) { e=eval(\\\'document.forms[0].\\\' + divID + \\\'__SCROLLPOS\\\').value; a=e.split(\\\',\\\'); document.getElementById(divID).scrollTop= a[0]; document.getElementById(divID).scrollLeft= a[1]; } } } 在页面后台调用的时候,写下如下的代码: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load call SaveDivScrollPosition("div1,div2,div3",me) call RestoreDivScrollPosition("div1,div2,div3",me) End Sub 不好意思,这两个SUB可以写成一个,仅供参考。 返回类别: 教程 上一教程: ASP OBJECT之:RESPONSE 下一教程: 用ASP进行BASE64加密 您可以阅读与"保持页面中滚动条的位置,使得页面提交后滚动条还是在原来的位置"相关的教程: · 如何在WEB页面中集成文件上传功能 · ASP中检查没有数据提交的页面Ⅰ · 较长TEXT型数据无法在ASP页面中取出的解决办法 · 页面自动刷新,又不用让用户按回车键来提交数据 · 在静态页面中显示文章被阅读的次数 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |