最近在切一张聊天页面的时候需要实现一个类似于像微信一样的聊天输入框,即输入框的高度会随着内容的增加不断增高。

综合了一下网上的思路目前有依靠keyup来判断的,但是这种方法在遇到一次性输入大量文本的时候好像有点问题,而且在遇到删除文字时好像也有点问题。还有一种是依靠定时器来解决。当用户的焦点在输入框的时候隔一段时间就检查输入框里文本的实际高度,一旦实际高度大于输入框的高度,即把输入框的高度调成与文本的实际高度一致。我的代码就是采用了第二种。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>聊天框</title><script type="text/javascript" src="JS/jquery-3.4.1.min.js"></script><style>.div {position: fixed;width: 200px;height: auto;min-height: 60px;border: solid black 1px;background-color: #FFF;bottom: 100px;left: -40px;margin-left: 50%;}.div-textarea {position: absolute;width: 80%;height: auto;top: 10px;left: 10px;bottom: 10px;overflow-x: hidden;overflow-y: hidden;-webkit-user-select: text;word-wrap: break-word;word-break: break-all;}</style>
</head>
<body>
<div class="div"><textarea class="div-textarea"></textarea></div>
<script>$(function () {/*不断的保持高度相同*/function keepHeight() {var newHeight = $('.div-textarea')[0].scrollHeight;$('.div').height(newHeight);}/*定时器*/var liaotoan = setInterval(keepHeight, 1);/*鼠标焦点时开启定时器*/$('.div-textarea').on('click', function () {liaotoan = setInterval(keepHeight, 1);});/*关闭定时器*/$('.div-textarea').on('blur', function () {clearInterval(liaotoan);});});
</script>
</body>
</html>

jquery实现类似微信输入框的输入聊天框相关推荐

  1. qq html制作,jquery学习练习:制作QQ简易聊天框

    使用html( )获取和设置页面内容 使用val( )获取聊天内容 使用addClass( )为指定元素追加样式 使用数组保存聊天人员头像和昵称 使用随机函数获取聊天人员的头像和昵称 在输入框中输入内 ...

  2. swift实现ios类似微信输入框跟随键盘弹出的效果

    为什么要做这个效果 在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会跟随键盘一起向下收回,二者完全无缝连接,那么这是怎么实 ...

  3. iOS - 自主实现类似微信语音视频信息聊天 (idoubs详细使用方法)1.0

    2017 年 本命年到了 一定要兢兢业业 努力去让自己变得更好~ 先给大家拜个年啦. 这篇文章早在16年底就已经在pages上码了一遍 因为总有事情 就一直没有放上来. 好了 话不多说 今天主要不是讲 ...

  4. WPF显示富文本emoji表情+文本(类似微信)

    祝大家端午节安康! WPF开发者QQ群: 340500857 前言 有小伙伴需要实现类似微信一样的气泡聊天emoji表情+文本. 欢迎转发.分享.点赞,谢谢大家~.   效果预览(更多效果请下载源码体 ...

  5. 原来微信“对方正在输入”在这种情况下才显示

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 我们在微信聊天的时候总会看到 "对方正在输入--", 特别是和喜欢的人 ...

  6. HTML聊天框特效,利用jQuery实现响应式聊天窗口界面特效

    特效描述:利用jQuery实现 响应式 聊天窗口 界面特效.利用jQuery实现响应式聊天窗口界面特效 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 10 Conversations ...

  7. uniapp 移动端 聊天框 获取聊天历史记录

    做一个类似淘宝客服聊天框的功能在这里插入代码片 <template><view class="content"><view class="c ...

  8. php类似微信聊天框,仿微信聊天功能

    摘要: 微信聊天 window.onload = () => { // 获取按钮 let btn = document.getElementById('btn'); // 获取输入框 let t ...

  9. 完美解决deepin-wine-wechat微信黑块以及聊天输入框中文字体显示为竖条的问题(亲测有效!)

    一. 解决显示微信黑块的问题 1. 安装wmctrl sudo apt-get install wmctrl 2. 使用wmctrl命令查看系统正在运行的窗口 打开微信聊天窗口后会有黑块显示,此时如下 ...

最新文章

  1. (每日一题)P3723 [AH2017/HNOI2017]礼物(经典FFT)
  2. 2.当vmware中的Linux磁盘大小不足了的时候,修改vmware中Linux磁盘空间大小的解决方案
  3. Linux的Nginx二:代理
  4. 上海j计算机一级分值,计算机一级考试内容及分值
  5. 基于光线追踪的渲染中景深(Depth of field)效果的实现
  6. SQL Server 文件规划 -位置规划
  7. mysql开源内库_MySQL数据库(查询语句)
  8. 5点击换gif_小米10最酷截图,只需三步,打造视频带壳+GIF动图
  9. linux zen 补丁,Mageia 7.1 发布,修复AMD Zen 2支持
  10. 学生信息管理系统(php MySql),基于PHP学生信息管理系统设计系统设计(MySQL)(含录像)...
  11. android结束进程,卧薪尝胆70天内推入职阿里,附答案
  12. Cisco ❀ QinQ技术与VXLAN技术的区别
  13. 如何快速提取pdf中矢量图
  14. 【平面设计基础】03:绘制—图标到底有多重要
  15. LG Sprite Software Root漏洞
  16. linux 自带的python软连接被误删恢复
  17. jQuery学习(菜鸟教程)
  18. [内存泄漏]pppd程序导致的内存泄漏
  19. 特殊符号备用——三角形
  20. javafx label设置字体大小_如何把智能手机,设置成老年人模式?

热门文章

  1. 一键安装Docker图形化管理界面-Shipyard
  2. estore简版商城疑点思考
  3. 【点宽专栏】渤海证券——商品期货跨品种择时套利策略
  4. Java实现模拟电梯上下楼,初学者练手
  5. Ubuntu使用超级用户权限
  6. linux新建用户命令行无颜色问题
  7. C语言中 %02X 含义
  8. 无人机无线传感器网络中的节能数据采集(Matlab代码实现)
  9. 工控计算机系统,工控电脑装什么系统好
  10. vue中动态请求URL乱码