聊天室自动滚动效果实现

简介:

1.聊天区域

<div id="chatlist">
</div>

2.css设置

#chatlist {
    position: fixed;
    width: 100%;
    bottom: 4rem;
    max-height: 200px;
    overflow-y: scroll;
}

3.监听消息并处理

function setOnReceiveMessageListener() {
    rong.setOnReceiveMessageListener(function (ret, err) {
        ret.result.message.content.extra = JSON.parse(ret.result.message.content.extra); // 字符串处理成json
        // 将消息展示到页面中
        var interText = doT.template($("#chat_row_tmpl").text());
        $("#chatlist").append(interText(ret.result.message.content));

        // 让消息自动滚动
        var chatlist = document.getElementById('chatlist');
        chatlist.scrollTop = chatlist.scrollHeight;
    })
}

dot消息模板

<script id="chat_row_tmpl" type="text/html/x-dot-template">
    <div class="aui-row">
        <div class="aui-col-xs-9 aui-padded-t-15 aui-padded-l-10">
            <div class="bj  aui-font-size-14 color_qianl aui-padded-l-10" style="padding:0.2rem 0.6rem;">
                <div class="aui-label aui-label-danger"></div>
                <span class="color_fen"> {{= it.extra.nickname}}:</span> {{= it.text}}
            </div>
        </div>
    </div>
</script>

ps:没用到什么插件,就是一些基本的js和css,就能够很好的实现效果!

核心就是这里,

// 让消息自动滚动
var chatlist = document.getElementById('chatlist');
chatlist.scrollTop = chatlist.scrollHeight;

数据通过dot,进行动态展示!

// 将消息展示到页面中
var interText = doT.template($("#chat_row_tmpl").text());
$("#chatlist").append(interText(ret.result.message.content));

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6633377.html,如需转载请自行联系原作者
相关文章
|
Ubuntu 关系型数据库 MySQL
M1 macos docker获取x86 x64 amd 等指定架构版本linux ubuntu mysql 容器并启动容器
M1 macos docker获取x86 x64 amd 等指定架构版本linux ubuntu mysql 容器并启动容器
|
Web App开发 缓存 JavaScript
如何处理页面关闭时发送HTTP请求?
在实际项目开发中,可能会遇到这样的业务问题:如何在用户离开或关闭页面时发送HTTP请求给服务端?可能有人会觉得页面都关闭了,还需要发送什么请求,完全没必要噻。但如果真有这样的业务需求落到自己的头上,那么我们应该如何来实现呢?
3332 0
如何处理页面关闭时发送HTTP请求?
|
人工智能 编解码 自然语言处理
AI智能混剪核心技术解析(一):字幕与标题生成的三大支柱-字幕与标题生成-优雅草卓伊凡
AI智能混剪核心技术解析(一):字幕与标题生成的三大支柱-字幕与标题生成-优雅草卓伊凡
519 4
AI智能混剪核心技术解析(一):字幕与标题生成的三大支柱-字幕与标题生成-优雅草卓伊凡
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1844 12
|
11月前
|
前端开发 Java Python
Python高效实现Word转HTML:从基础到进阶的全流程方案
本文介绍如何利用Python实现Word文档(.docx)高效转换为HTML,解决企业数字化转型中文档格式迁移的痛点。通过对比python-docx、pandoc和Mammoth等工具,结合样式保留、图片处理、表格优化与批量转换方案,提供低成本、高灵活性的自动化流程。适用于产品手册、技术文档、课件等场景,提升转换效率达40倍,成本降低90%。
1345 0
|
人工智能 BI API
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增用户额度、密钥管理、Web 登录鉴权等功能,优化权限管理,适合企业场景使用。
2363 3
Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成
|
JSON JavaScript 定位技术
Echarts 绘制地图(中国、省市、区县),保姆级教程!
Echarts 绘制地图(中国、省市、区县),保姆级教程!
29329 154
|
消息中间件 缓存 前端开发
JS案例:实现一个简单的任务队列-TaskQueue
JS案例:实现一个简单的任务队列-TaskQueue
1107 0
JS案例:实现一个简单的任务队列-TaskQueue
|
API 语音技术 开发者
用python实现文字转语音的5个较好用的模块
这篇文章介绍了五个Python模块:gtts、pyttsx3、baidu-aip、pywin32和speech,它们能够实现文本到语音的转换功能。
1861 1
|
人工智能 JavaScript API
互联网人的福利!『昆仑天工』4款AI产品开源!提供API对接!
互联网人的福利!『昆仑天工』4款AI产品开源!提供API对接!
1418 0

热门文章

最新文章