如何自动向下滚动 - 与 django 聊天应用程序

Posted

技术标签:

【中文标题】如何自动向下滚动 - 与 django 聊天应用程序【英文标题】:how can I auto scroll down - chat app with django 【发布时间】:2022-01-16 07:32:23 【问题描述】:

你好,我想自动向下滚动,因为每当我刷新页面时,我总是看到对话的顶部,我的意思是 start-conversation,这是我的代码

<div class="card-body height3 scrollbar" style="margin-bottom: -60px;" id="card-body">
            
                    <ul class="chat-list" id="chat-list-id">
                        <p class="start-conversation">&nbsp;</p>
                        % for chat in chats %
                            % if chat.from_user == user.username %
                                <li class="out">
                                    <div class="chat-img">
                                        <img  style="height: 48px;width: 48px;" src="here.image.url">
                                    </div>
                                    <div class="chat-body">
                                        <div class="chat-message">
                                            <h5>Me</h5>
                                            <p>chat.messag_body</p>
                                        </div>
                                    </div>
                                </li>       
                            % else %
                                <li class="in">
                                    <div class="chat-img">
                                        <img  src="here.image.url">
                                    </div>
                                    <div class="chat-body">
                                        <div class="chat-message">
                                            <h5> chat.from_user </h5>
                                            <p> chat.messag_body </p>
                                        </div>
                                    </div>
                                </li>
                            % endif %
                        %endfor%
                    </ul>
                </div>

【问题讨论】:

你如何获取数据,分享你的 ajax 代码? 【参考方案1】:

您可以在 jQuery 中使用 scrollTop 函数。像这样:

$('.chat-body').scrollTop($('.chat-body')[0].scrollHeight);

【讨论】:

它对我不起作用( @marc-stupid 控制台有错误吗?【参考方案2】:

在页面底部试试这个

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
        $('document').ready(function() 
           $('html').animate(scrollTop: document.body.scrollHeight,1);
        );
</script>

【讨论】:

也不行 @marc-stupid 这应该可以工作我在我的聊天应用程序中使用相同的。也许你做错了。 实际上,每当出现聊天消息时,我都必须向下滚动 .card-body,但我仍然不知道如何 @marc-stupid 你是如何获取新消息的?

以上是关于如何自动向下滚动 - 与 django 聊天应用程序的主要内容,如果未能解决你的问题,请参考以下文章

自动向下滚动聊天 div

如何在 django 管理页面上创建锚点以自动从 url 向下滚动到内联或字段

打开聊天Flutter时如何向下滚动聊天列表视图

如何以编程方式向下滚动表格

在设定的时间向下滚动聊天,但在用户交互时停用

如何自动向下滚动html页面?