带溢出的DIV:添加内容时自动停止滚动

时间:2012-06-22 17:50:09

标签: jquery asp.net scroll updatepanel ajaxcontroltoolkit

我在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(最新版本)来补充任何功能。

1 个答案:

答案 0 :(得分: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
        }