現状
現在RailsでLineのチャットボットのようなものを作成中です。
Lineのように下から次々メッセージが出てくるようなUIにしたいので常にチャット窓を一番下にスクロールしたいです。
それで他サイト等を参考にしながら、以下のようにjsを書いたのですが、"ページ更新”の場合はうまく
一番下までスクロールしてくれるのですが、普通にそのページにアクセスしたときにうまく挙動してくれません。(チャット窓の一番上が表示されたままになります)
・.card-bodyの部分が以下の画像のチャットダイアログ部分になります。
・
js
1$(function() { 2 $('.card-body').animate({scrollTop: $('.card-body')[0].scrollHeight}, 'normal'); 3});
質問
・どのようにコードを改善すれば普通にアクセスした時もうまく一番下までスクロールしてくれるようになるでしょうか?
・上のjsのコードにある$('.card-body')[0]の部分の[0]とは何を指すのでしょうか?
(この[0]を無くすとページを更新した場合でも挙動しなくなります。)
蛇足
発言があるたびに一番下までスクロールするという部分は翻訳部分を押した時のcreateメソッドを通して以下のように実装できている状況です。
js
1<% if @status == 'success' %> 2 $(".card-body").append("<%= j(render("translate-box-ajax", translate: @translate)) %>"); 3 $('.card-body').animate({scrollTop: $('.card-body')[0].scrollHeight}, 'fast'); 4<% elsif @status == 'fail' %> 5 alert('不正な入力かも'); 6<% end %>s
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/01 06:55
2020/04/01 06:58