繁体   English   中英

Textarea 自动滚动到底部

[英]Textarea auto-scroll to the bottom

我有一个 textarea,我将数据附加到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);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM