2

我正在为我正在开发的 Web 应用程序构建一个实用程序页面。我有一个元素想用作各种“控制台”。

我通过 Ajax 调用(使用原型)获得控制台条目Ajax.PeriodicalUpdater

我遇到的问题是,当我在“控制台”底部插入新行时,滚动条保持在初始位置(所以我总是看到顶行,除非我手动向下滚动)。

如何让滚动条自动停留在底部?

我在这个项目中为一些需要它的库使用原型,所以如果可能的话,我宁愿坚持使用那个或常规的 javascript。

就像一个注释,我已经尝试过这个:

onComplete: function() { 
    $('console').scrollTop = $('console').scrollHeight;
}

几乎可以工作,只是它总是“落后一步”,而且我看不到最近的项目。

4

2 回答 2

4
new Ajax.PeriodicalUpdater(container, url, {
    onComplete: function() {
        (function() {
            container.scrollTop = container.scrollHeight;
        }).defer();
    }
});
于 2008-10-30T05:27:15.873 回答
1

嘿,我正在构建几乎完全相同的东西(一个 Ajax 控制台),并且我的溢出 div 没有一直到底部有问题。

Stack Overflow 帮我解决了!希望对你也有帮助!

使用 JavaScript 滚动溢出的 DIV

编辑:我的问题使用了 jQuery,但问题不在于 JS 框架,而在于您正在使用的 CSS 属性。基本上你需要 get Math.max(div.scrollHeight, div.clientHeight) 因为有些浏览器的这些属性有点问题。

于 2008-10-30T05:56:47.717 回答