基于javascript制作微信聊天面板


Posted in Javascript onAugust 09, 2020

本文实例分享了javascript制作微信聊天面板的相关代码,具体内容如下

先上图吧

基于javascript制作微信聊天面板

点击头像更换说话对象,简单说下实现原理,html中创建一个ul用于存放所有说话的内容,对话内容是有javascript 动态生成,

主要难点:先布局好css,当时奥巴马发送时候,让这个li有浮动,当是小胖时候,让这个li左浮动。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>模拟短信发送</title>
 <style>
 * {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: '微软雅黑'
 }
 #container {
  width: 450px;
  height: 780px;
  background: #eee;
  margin: 80px auto 0;
  position: relative;
  box-shadow: 20px 20px 55px #777;
 }
 .header {
  background: #000;
  height: 34px;
  color: #fff;
  line-height: 34px;
  font-size: 20px;
  padding: 0 10px;
 }
 .footer {
  width: 430px;
  height: 50px;
  background: #666;
  position: absolute;
  bottom: 0;
  padding: 10px;
 }
 .footer input {
  width: 275px;
  height: 45px;
  outline: none;
  font-size: 20px;
  text-indent: 10px;
  position: absolute;
  border-radius: 6px;
  right: 80px;
 }
 .footer span {
  display: inline-block;
  width: 62px;
  height: 48px;
  background: #ccc;
  font-weight: 900;
  line-height: 45px;
  cursor: pointer;
  text-align: center;
  position: absolute;
  right: 10px;
  border-radius: 6px;
 }
 .footer span:hover {
  color: #fff;
  background: #999;
 }
 #icon {
  display: inline-block;
  background: red;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  position: absolute;
  bottom: 6px;
  left: 14px;
  cursor: pointer;
  overflow: hidden;
 }
 img {
  width: 60px;
  height: 60px;
 }
 .content {
  font-size: 20px;
  width: 435px;
  height: 662px;
  overflow: auto;
  padding: 5px;
 }
 .content li {
  margin-top: 10px;
  padding-left: 10px;
  width: 412px;
  display: block;
  clear: both;
  overflow: hidden;
 }
 .content li img {
  float: left;
 }
 .content li span{
  background: #7cfc00;
  padding: 10px;
  border-radius: 10px;
  float: left;
  margin: 6px 10px 0 10px;
  max-width: 310px;
  border: 1px solid #ccc;
  box-shadow: 0 0 3px #ccc;
 }
 .content li img.imgleft { 
  float: left; 
 }
 .content li img.imgright { 
  float: right; 
 }
 .content li span.spanleft { 
  float: left;
  background: #fff;
 }
 .content li span.spanright { 
  float: right;
  background: #7cfc00;
 }
 </style>
 <script>
 window.onload = function(){
  var arrIcon = ['img/1.jpg','img/2.jpg'];
  var num = 0; //控制头像改变
  var iNow = -1; //用来累加改变左右浮动
  var icon = document.getElementById('icon').getElementsByTagName('img');
  var btn = document.getElementById('btn');
  var text = document.getElementById('text');
  var content = document.getElementsByTagName('ul')[0];
  var img = content.getElementsByTagName('img');
  var span = content.getElementsByTagName('span');

  icon[0].onclick = function(){
  if(num==0){
   this.src = arrIcon[1];
   num = 1;
  }else if(num==1){
   this.src = arrIcon[0];
   num = 0;
  }  
  }
  btn.onclick = function(){
  if(text.value ==''){
   alert('发送内容不能为空');
  }else {
   content.innerHTML += '<li><img src="'+arrIcon[num]+'"><span>'+text.value+'</span></li>';
   iNow++;
   if(num==0){
   img[iNow].className += 'imgright';
   span[iNow].className += 'spanright';
   }else {
   img[iNow].className += 'imgleft';
   span[iNow].className += 'spanleft';
   }
   text.value = '';
  }
  }
 }
 </script>
</head>
<body>
 <div id="container">
 <div class="header">
  <span style="float: left;">白超华-博客园</span>
  <span style="float: right;">20:30</span>
 </div>
 <ul class="content"></ul>
 <div class="footer">
  <div id="icon">
  <img src="img/1.jpg" alt="">
  </div>
  <input id="text" type="text" placeholder="说点什么吧...">
  <span id="btn">发送</span>
 </div>
 </div>
</body>
</html>

本文已被整理到了《JavaScript微信开发技巧汇总》,欢迎大家学习阅读。

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
JS构建页面的DOM节点结构的实现代码
Dec 09 Javascript
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
jquery next nextAll nextUntil siblings的区别介绍
Oct 05 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
jQuery源码解读之addClass()方法分析
Feb 20 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
May 11 Javascript
vue组件与复用详解
Apr 08 Javascript
解决微信小程序中的滚动穿透问题
Sep 16 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 #Javascript
TypeScript Type Innference(类型判断)
Mar 10 #Javascript
JavaScript File分段上传
Mar 10 #Javascript
ES6中非常实用的新特性介绍
Mar 10 #Javascript
ES6的新特性概览
Mar 10 #Javascript
JavaScript字符串常用的方法
Mar 10 #Javascript
javascript中call apply 与 bind方法详解
Mar 10 #Javascript
You might like
php GeoIP的使用教程
2011/03/09 PHP
php性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
node后端服务保活的实现
2019/11/10 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
2019/06/28 Python
python银行系统实现源码
2019/10/25 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
优秀体育委员自荐书
2014/01/31 职场文书
2014年政工师工作总结
2014/12/18 职场文书
创先争优承诺书
2015/01/20 职场文书
喋血孤城观后感
2015/06/08 职场文书
股东出资协议书
2016/03/21 职场文书
Python Matplotlib绘制动画的代码详解
2022/05/30 Python
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers