LINEやTwitterのDMのようなチャット画面で通常のWebページの場合はページの一番上がスクロール開始位置になると思うのですが、チャット画面では一番下がスクロール開始位置になって上にスクロールしていくと過去のメッセージに遡れると思うのですがこのようなUIはどのように実装するのでしょうか。
また新しいメッセージを送信したときにメッセージのdivが下に追加されるのですがどのようにして新しいメッセージを追加したときに自動的に画面を一番下にスクロールさせるのしょうか。
伝わりにくいかもしれませんが教えていただけると幸いです
HTML
1 <header class="header"> 2 <div class="chatPartner"> 3 <div class="dm-username">USER_NAME</div> 4 <div class="dm-userid">USER_ID</div> 5 </div> 6 </header> 7<div class="messagesArea messages" id="scroll-inner"> 8<div class="area"> 9<div class="message" id="parent"> 10 <img src="icon" class="message-icon"> 11 <div class="chatUserName">USERNAME</div> 12 <a class="time-hover"> 13 <span class="dm-p">TIME 前</span> 14 <span class="hover-time">TIME</span> 15 </a> 16 <div class="commonMessage"> 17 <div>MESSAGE</div> 18</div> 19</div> 20<hr class="messageline"> 21</div> 22</div> 23 <div class="text-box"> 24 <form class="messageInputForm"> 25 <div class="messenger"> 26 <textarea type="text" data-behavior="room_speaker" class="messageInputForm_input" placeholder="メッセージを入力..."></textarea> 27 </div> 28 </form> 29 </div> 30</div> 31</div>
CSS
1.header { 2 padding: 7px; 3 background: var(--heading-color); 4 color: var(--primary-color); 5 height: 57px; 6 box-sizing: border-box; 7 border-bottom: solid 1px var(--border-color); 8} 9.messagesArea { 10 overflow-y: scroll; 11 height: calc(100% - 8pc); 12} 13.message { 14 margin: 10px; 15}
※CSSは一部省略しています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。