2017-04-06 5 views
1

私はFacebookのメッセンジャーのような簡単なチャットシステムを構築しようとしています。しかし、彼らは、ヘッダを追加し、固定位置を保つ最後のメッセージを聖霊降臨祭、そしてもちろんスクロールバーdivの一番下にメッセージがあるチャットシステム

Here is my try... but no scrollbar and the header do not move too.

は心に留めておく、私は固定ヘッダを望んでいません。私が読んだときの問題は、chat divの "height:auto"が "flow"になるということですが、これがチャットの高さを動的に保つことです。 うーん...もし誰かがメッセージを一番下に置いた方がよいでしょう。ヘッダーは一番上にあり、メッセージがヘッダーに届くと固着します。

PS: With only the ccs3 display:flex, I been able to achieve my goal here.. very simple.. It's possible without ? even with JS ''

答えて

0

ヨ、これをチェック

(function(i) { 
 
    $(".click").click(function() { 
 

 
    if (parseInt($(".chat .placeholder").css("margin-bottom")) > 32) { 
 
     $(".chat .placeholder").css("margin-bottom", "-=50px"); 
 
    } 
 

 
    else if ($(".chat .placeholder").css("margin-bottom") == "32px") { 
 
     $(".chat .placeholder").css("margin-bottom", "0px"); 
 
    } 
 

 
    $(".chat").append("<p>hey " + (++i) + "</p>"); 
 
    
 
    $(".chat").scrollTop($(".chat").prop('scrollHeight') - $(".chat").outerHeight()); 
 

 
    }) 
 
})(0);
.main .chat { 
 
    width: 100%; 
 
    position: absolute; 
 
    top: 30px; 
 
    background: red; 
 
    box-sizing: border-box; 
 
    height: 200px; 
 
    overflow: auto; 
 
} 
 

 
.chat p { 
 
    background: blue; 
 
    padding: 16px 20px; 
 
    margin: 0; 
 
} 
 

 
.main .header { 
 
    position: relative; 
 
    background: yellow; 
 
    height: 18px; 
 
} 
 

 
p.placeholder { 
 
    width: 100%; 
 
    padding: 0; 
 
    margin-top: 0; 
 
    margin-bottom: 132px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='button' class='click' value='add'> 
 
<div class='main'> 
 

 
    <div class='chat'> 
 
    <p class="placeholder header">Header</p> 
 
    <p>hello</p> 
 
    </div> 
 
</div>

+0

感謝します彼は答えますが、Z-インデックスは他のdivよりも "ヘッダー"を見えるようにします。divs "absolute || relate"と固定ディビジョンのような振る舞いをします。私はチャットdivsを展開し、画面外にヘッダーを拡大してスクロールバーメイン・ディビジョンで新しいメッセージを最下部に置いています。 facebookとまったく同じです。 –

+0

@RicardoGomes編集を確認してください。 – user31782

+0

はここでも同じです。ヘッダーを固定しました。私はディスプレイで作ることができる:フレックス..しかし、私は唯一のcss2と必要です..フレックスバージョンhttps://jsfiddle.net/cLtkt0sw/を確認してください。ありがとう –

0

今、私はあなたが問題だか見ている。

だけ

.chatから position: absolute;を削除
+0

答えに感謝、はい。しかし、これは問題ではありません。私はヘッダーを外側にしたいと思っています。.chatがヘッダーの上に展開しないように成長してください。 –

+0

私の答えをレッド。 z-indexの内容は忘れてください。 – StefanBob

+0

メッセージは一番上に保存され、新しいメッセージは古いものの下に届きます。ヘッダーは固定されています。ここでの私の目標は、新しいメッセージが下部にあり、履歴が上部に伸び、ヘッダーがメッセージに固執するときです。もちろんスクロールバーです。 A!可能であれば、javascriptなしで!私はちょうど "ディスプレイ:フレックス"を見つけました..もしこの新しいccs3のものがなければ..より良い。ありがとうございました –

関連する問題