2014-10-24 11 views
7

textarea.value += "more text\n"; ile veri eklediğim bir textarea'm var ve alt kısımda "kayar" kalmasını istiyorum, bu nedenle her zaman son satırı gösterir.Textarea otomatik olarak aşağı kaydırıyor

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

Ama (http://jsfiddle.net/BenjiWiebe/mya0u1zo/) denedim ve bunu işe alınamıyor:

Ben yapması gerektiğini okudum.

Neyi yanlış yapıyorum?

+0

Olası kopyalar (https [güncellenmiş altına kaydırılacağı tutmak için bir textarea sahip Nasıl]: // stackoverflow .com/questions/7373081/nasıl yapılır-a-textarea-to-the-scroll-to-the-bottom-ne zaman-güncellendi) – LoganMzz

cevap

14

Sen scrollTop metin ekleme her zaman ayarlamak gerekir:

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

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

ait
+0

Tamam, Yani bunu "sopa" alt yapmak için hiçbir yolu yoktur ? Kodumda metin ekleyen birden fazla yerim olduğu için ... sanırım bir "append_text" işlevi oluşturabilirim ... – BenjiWiebe

+1

"scrollHeight" değiştiyse, "scrollTop" öğesini güncellemeniz gerekir. – celeritas