我有一个用textarea.value += "more text\n";附加数据的文本区,我想让它“停留”到底部,这样它总是会显示最后一行。
我读到过我应该做的事情:
var textarea = document.getElementById('textarea_id');
textarea.scrollTop = textarea.scrollHeight;但是我试过了(http://jsfiddle.net/BenjiWiebe/mya0u1zo/),但是我不能让它工作。
我做错了什么?
发布于 2014-10-25 07:17:57
每次追加文本时都需要设置scrollTop:
var textarea = document.getElementById('textarea_id');
setInterval(function(){
textarea.value += Math.random()+'\n';
textarea.scrollTop = textarea.scrollHeight;
}, 1000);http://jsfiddle.net/mya0u1zo/2/
发布于 2018-12-05 09:00:08
回答原始问题:因为字符串输出以换行符结束,所以应该在输出之前滚动,而不是在输出之后滚动(我将id保存在一个名为id的对象中):
function Output(Msg)
{
...
id.Log.scrollTop=id.Log.scrollHeight;
SetValue('Log',out);
}https://stackoverflow.com/questions/26557593
复制相似问题