【发布时间】:2015-10-04 20:11:22
【问题描述】:
我正在 Meteor 中编写一个信使应用程序,我想对其进行设置,以便当任一用户键入消息时,它会向下滚动到两个用户的 div 底部。我将消息存储在名为messages 的列表中,该列表位于集合Conversations 的对话文档中。我正在使用cursor.observeChanges,似乎回调在数据在客户端呈现之前触发,因此它不会一直滚动到底部。
这里是html:
<template name="chat">
{{> chatBox}}
</template>
<template name="chatBox">
<div class="chat-box">
<div id="chat-messages">
{{#each chatMessages}}
<div class="individual-message">
{{message}}
</div>
{{/each}}
</div>
<form id="chat-input">
<input class="add-message" autocomplete="off" placeholder="Write something..." name="text" type="text">
</form>
</div>
</template>
这是相关的 css:
#chat-messages {
overflow-y: scroll;
width: 250px;
height: 450px;
padding: 15px;
position: absolute;
}
这是 js:
Tracker.autorun(function(){
...
Conversations.find(conversationId).observeChanges({
changed: function(id, fields){
$("#chat-messages").scrollTop($("#chat-messages").prop("scrollHeight"));
}
});
});
【问题讨论】:
标签: javascript jquery html css meteor