jqueryとfirestoreに基づいてチャットを作成しています.Snapshotのメッセージを日付順に取得できるようになっていますが、現在はチャットを開いたときに日分割を追加しようとしています彼は毎日分周器を見つけて、各分周器の下でこのメッセージが現れます。日付区切りでメッセージを並べ替え
これは私のコードです:ここでは
firestore.collection("chat").orderBy("date","desc").limit(10).onSnapshot(function(snapshot) {
$(".messages").html('');
var curUser = '';
var curDate = '';
var curDay = '';
snapshot.forEach(function(doc) {
console.log("djsidjsdoisjdis");
$(".chat-content").animate({ scrollTop: $('.chat-content').prop("scrollHeight")}, 100);
if(curDate!== doc.data().date.toLocaleDateString()){
curDate=doc.data().date.toLocaleDateString();
$(".messages").append('<h1>'+doc.data().date.toLocaleDateString()+'</h1>');
}
if(doc.data().user_name != username){
// My message
if(doc.data().user_name !== curUser) {
// SHOW USER NAME
curUser = doc.data().user_name;
$(".messages").append('<ul class="message message-received message-appear-from-bottom message-appeared message-first message-last message-with-tail"><li class="message-name">'+doc.data().user_name+'</li><li id="message-date" class="hide">'+doc.data().date+'</li><li class="message-text">'+doc.data().message+'</li></ul>');
} else {
// SHOW MESSAGE WITHOUT USERNAME
$(".messages").append('<ul class="message message-received message-appear-from-bottom message-appeared message-first message-last message-with-tail"><li id="message-date" class="hide">'+doc.data().date+'</li><li class="message-text">'+doc.data().message+'</li></ul>');
}
} else {
// other users messages
if(doc.data().user_name !== curUser) {
// Show messsgae with user name:
curUser = doc.data().user_name;
$(".messages").append('<ul class="message message-sent message-first message-last message-with-tail message-appear-from-bottom message-appeared"><li id="message-date" class="hide">'+doc.data().date+'</li><li class="message-name">'+doc.data().user_name+'</li><li class="message-text">'+doc.data().message+'</li></ul>');
} else {
// Show message without user name:
$(".messages").append('<ul class="message message-sent message-first message-last message-with-tail message-appear-from-bottom message-appeared"><li id="message-date" class="hide">'+doc.data().date+'</li><li class="message-text">'+doc.data().message+'</li></ul>');
}
}
});
var list = $('.messages');
var listItems = list.children('ul.message');
list.append(listItems.get().reverse());
});
は私が何を得るからのスクリーンショットですが、私はお互いがメッセージをseperatingない後の日付仕切りを得ました。 chat
あなたはJSONの抜粋を共有することができ、あなたのマークアップ&コードは次のようにする必要があります..あなたの場合 'スナップショット' –
@KresimirPendic私は含まなかったこの関数のjsonでは、ユーザー名は今は静的変数として定義されています。私はちょうど区切り日 –