文本区域自动滚动到底部

Textarea auto-scroll to the bottom

本文关键字:底部 滚动 区域 文本      更新时间:2023-09-26

我有一个文本区域,我用textarea.value += "more text'n";将数据附加到该区域,我希望它"保持"滚动到底,这样它总是显示最后一行。

我读过我应该做的事:

var textarea = document.getElementById('textarea_id');
textarea.scrollTop = textarea.scrollHeight;

但我试过了(http://jsfiddle.net/BenjiWiebe/mya0u1zo/)我无法让它发挥作用。

我做错了什么?

每次附加文本时都需要设置scrollTop

var textarea = document.getElementById('textarea_id');
setInterval(function(){
    textarea.value += Math.random()+''n';
    textarea.scrollTop = textarea.scrollHeight;
}, 1000);

http://jsfiddle.net/mya0u1zo/2/

要回答最初的问题:由于字符串输出以换行符结束,因此应该在输出之前滚动,而不是在输出之后滚动(我将id保存在一个名为id的对象中):

function Output(Msg)
  {
  ...
  id.Log.scrollTop=id.Log.scrollHeight;
  SetValue('Log',out);
  }