質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1187閲覧

CSS: chatのクラス内が常に一番下にスクロールされている状態にしたい。

nanase21

総合スコア144

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/08/07 05:20

編集2019/08/10 11:47

#実現したいこと
メッセージが追加される度に.chatの一番下にスクロールされるようにしたい。

困っていること
メッセージが追加される度についてはボタンをクリックに対してonclickを発火させればいいのかなと思うのですがどのようにしたら一番下にスクロールされるかが分からなくて困っています。

css

1html, body { 2 width: 100vw; 3 height: 100vh; 4 padding: 0; 5 margin: 0; 6} 7body { 8 /*タッチデバイスやmacでスクロールされないようにする*/ 9 overflow: hidden; 10 position:absolute; 11} 12.chatArea { 13 bottom: 0; 14 overflow:scroll; 15}

html

1<h1>Chat Room</h1> 2<div class="container"> 3 <div class="row mt-4"> 4 <div class="col-10 offset-1 bg-info"> 5 <div class="chatArea" id="chat_space"> 6 <p>ほげ</p> 7 <p>hoge</p> 8 <p>ホゲ</p> 9 .... 10 </div> 11 </div> 12 </div> 13 <div class="col-10 offset-1"> 14 <form id="test_form" class="border"> 15 <input type="file" id="picture" class="col-6"> 16 <input type="button" value="送信" class="" id="chat"> 17 <textarea id="content" class="form-control border-0"></textarea> 18 </form> 19 </div> 20</div>

#追記

javascript

1document.getElementById("chat").onclick = function() { 2 // ここに#buttonをクリックしたら発生させる処理を記述する 3 var obj = document.getElementById('chat_space'); 4 obj.scrollTop = obj.scrollHeight; 5 // obj.scrollHeight - obj.clientHeight; 6 window.scroll(0, y); 7};

補足:使用技術
bootstrap4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/08/08 18:00

「これでスクロールできるようになった。」なら問題は無いのでは。
nanase21

2019/08/10 10:53

コメントしていただきありがとうございます。 返信遅くなり申し訳ございません。 質問の内容を変更いたしましたので、もしおわかりであればご教示いただけると幸いです。
guest

回答1

0

ベストアンサー

スクロールのコントロールはJavaScriptを使用しないとコントロールできないと思います。
(要素のスクロール位置をJavaScriptならコントロール可能です)

投稿2019/08/10 10:57

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/08/10 10:59

writing-modeとかを無理やり駆使したら出来るかもしれませんが。
nanase21

2019/08/10 11:50

ご教示いただきありがとうございます。 javascriptでonclickを指定し、送信をクリックした時に#chat_spaceに対して、スクロールされるようにしてみたのですが、うまく行きませんでした。 コードの問題なのか、Bootstrapを使用しているためにcssがバッティングしてスクロールができないのかはわからないのですが、もし何が原因なのかおわかりであればご教示いただけないでしょうか?
kei344

2019/08/10 12:06

window.scroll(0, y);でスクロールしようとされていますが、CSSでスクロールしないようにされています。スクロールできる要素で、内包要素もスクロールするコンテンツ量がないと「動き」がわかりにくいと思います。 【element.scrollTop - Web API | MDN】 https://developer.mozilla.org/ja/docs/Web/API/Element/scrollTop 【スクロールの位置(量)を取得・設定 | JavaScript逆引き | Webサイト制作支援 | ShanaBrian Website】 http://shanabrian.com/web/javascript/get-scroll-position.php
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問