ABOUT ME

게임도 만들어보고 싶고 웹서비스도 만들어보고 싶고 이것저것 호기심만 많은 애 둘 아빠의 블로그

Today
Yesterday
Total
  • textarea 가장 아래로 자동 scrolling 하기
    Javascript/jQuery 2017. 9. 4. 11:29
    반응형

    textarea를 콘솔처럼 사용하려고 해서 봤더니

    기본적으로 textarea는 자동으로 가장 아래쪽으로 스크롤링을 하지 않는다.

    데이터를 textarea로 계속 append하면 스크롤 위치는 계에에에속 맨 위에 고정되어 있다.

    그럼, 이걸 어떻게 처리할 수 있을까?


    HTML 코드는 다음처럼 심플하게 만들었다.

    <input type='text' id='txt'></input>
    <button id='btn'>click</button>
    <br>
    <textarea id='console' row='10'>
    </textarea>
    


    자 그 다음, button을 클릭하면 input에 있는 데이터를 textarea로 append 하는 스크립트를 작성해보자.
    $('#btn').on('click', () => {
      const data = $('#txt').val();
      $('#console').append(`${data}\n`);
    });
    


    결과는...?

    위에서 말한것과 같이 textarea의 스크롤이 꿈쩍도 안한다. 후후후...


    이제 다음과 같이 스크립트를 수정해서 textarea의 scrollHeight 값을 scrollTop으로 지정하도록 변경해보자.
    $('#btn').on('click', () => {
      const data = $('#txt').val();
      $('#console').append(`${data}\n`);
      const top = $('#console').prop('scrollHeight');
      $('#console').scrollTop(top);
    });
    


    이제, textarea의 스크롤 위치가 자동으로 맨 아래쪽을 보여주도록 되었다. :)

    반응형

    'Javascript > jQuery' 카테고리의 다른 글

    댓글

Designed by Tistory.