Saya memiliki area teks yang sedang dimuat ulang secara dinamis saat input pengguna sedang dikirim. Ini menyegarkan sendiri setiap beberapa detik. Jika jumlah teks di area teks ini melebihi ukuran area teks, bilah gulir muncul. Namun bilah gulir tidak benar-benar dapat digunakan karena jika Anda mulai menggulir ke bawah, beberapa detik kemudian textarea menyegarkan dan membawa bilah gulir kembali ke atas. Saya ingin mengatur bilah gulir ke secara default untuk menampilkan teks paling bawah. Adakah yang punya ide bagaimana melakukannya?
javascript
css
scroll
textarea
moesef
sumber
sumber
Jawaban:
cukup sederhana, dalam vanilla javascript:
var textarea = document.getElementById('textarea_id'); textarea.scrollTop = textarea.scrollHeight;
sumber
Anda dapat menggunakan ini dengan jQuery
$(document).ready(function(){ var $textarea = $('#textarea_id'); $textarea.scrollTop($textarea[0].scrollHeight); });
sumber
Saya mengalami masalah yang sama dan menemukan bahwa tidak ada atribut yang dapat disetel pada awalnya untuk mendapatkan perilaku scrolling yang benar. Namun, setelah teks diperbarui di textArea, segera setelah di fungsi yang sama Anda dapat menyetel focus () ke textArea untuk membuatnya bergulir ke bawah. Anda kemudian dapat memanggil
focus()
beberapa bidang masukan lain juga untuk memungkinkan pengguna untuk memasukkan di bidang itu. Ini bekerja seperti pesona:function myFunc() { var txtArea = document.getElementById("myTextarea"); txtArea.value += "whatever"; // doesn't matter how it is updated txtArea.focus(); var someOtherElem = document.getElementById("smallInputBox"); someOtherElem.focus(); }
sumber
Di HTML Anda ...
<textarea id="logTextArea" style="width:600px;height:200px;"></textarea>
Di Javascript Anda ...
<script language="javascript"> function loadLog(logValue) { logTa = document.getElementById("logTextArea") logTa.value = logValue; scrollLogToBottom() } function scrollLogToBottom() { logTa = document.getElementById("logTextArea") logTa.scrollTop = logTa.scrollHeight; } loadLog("This is my really long text block from a file ... ") </script>
Saya telah menemukan bahwa Anda perlu meletakkan kode untuk mengatur scrollHeight menjadi fungsi terpisah setelah memuat nilai baru ke dalam area teks.
sumber