我的页面上有一个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做到这一点,因为我可以使用它。
提前致谢
尼尔
作为快速技巧,您可以执行以下操作:
textArea.scrollTop = 99999;
另一种选择是在计时器中尝试:
setTimeout(function() { var textArea = document.getElementById('outputTextResultsArea'); textArea.scrollTop = textArea.scrollHeight; }, 10);