0

我在 asp:UpdatePanel 内有一个带有 style="overflow:auto" 的 DIV 容器,由 asp:Timer 触发

DIV 的内容每秒更新一次,但一旦内容溢出 div 的宽度和高度限制,DIV 会随着每次内容添加自动滚动回顶部;我希望它留在当前设置滚动的位置,或者更好地保持 DIV 的底部内容可见。

我尝试使用一些 javascript 来使用 scrollHeight 操作 scrollTop,但它会创建一个不可用的 DIV 对象,因为自动滚动总是在发生。

我可以添加一些 javascript 以不自动向下滚动 onfocus,但这不会修复添加新内容时自动滚动到 DIV 内容顶部的问题。

我必须对所有 ajax 使用 ASP.NET 对象,但我有 jQuery 1.7(最新版本)来补充任何功能。

4

1 回答 1

0

您需要 _endRequest、_beginRequest 处理程序。在后面的代码中添加这个。

public object endRequestHandle { get; set; }

public object beginRequestHandle { get; set; }

在您的 aspx 页面中,添加以下内容:

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);
        function beginRequestHandle(sender, Args) {
           //call any function if you want before Ajax update/request begins
        }

        function endRequestHandle(sender, Args) {
         //Call the function to scroll the div all the way down
        }
于 2012-06-23T05:51:56.383 回答