小编典典

动态滚动文本区域

ajax

我的页面上有一个textarea
html元素,该元素通过ajax重新加载。每次返回整个textarea不仅是其内容,而且内容会随着时间增长。连同textarea一起,我返回了以下javascript:

<script type="text/javascript" >

var textArea = document.getElementById('outputTextResultsArea');
textArea.scrollTop = textArea.scrollHeight;
</script>

在firefox 3.0.7中,这会将滚动条放在textArea的底部,使我可以看到最新的输出。但是在IE
7中,我看到了不同的行为。滚动条将按预期的内容向下移动,但是一旦内容较大,则文本区域的高度将不再向下滚动。似乎IE记住的是元素的原始滚动高度,而不是新高度。

如果有帮助,我正在使用xhtml过渡文档类型。另外,如果可以用jQuery做到这一点,因为我可以使用它。

提前致谢

尼尔


阅读 215

收藏
2020-07-26

共1个答案

小编典典

作为快速技巧,您可以执行以下操作:

textArea.scrollTop = 99999;

另一种选择是在计时器中尝试:

setTimeout(function()
{
    var textArea = document.getElementById('outputTextResultsArea');
    textArea.scrollTop = textArea.scrollHeight;
}, 10);
2020-07-26