基于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程序设计有所帮助。

(0)

相关推荐

  • 微信公众平台开发之发送图文消息.Net代码解析

    之前我们讲过让微信发送给我们普通的文本信息,下面我们来看看如何发送图文信息,需要注意的是这里说的是,让微信发给我们,而不是我们拍个图片发给微信处理,我们上传图片在以后的章节介绍.下面是发送图文消息的函数,涉及title(标题),description(摘要),picurl(图片),链接(url)几个关键的参数: protected string sendPicTextMessage(Msg _mode,string title,string description,string picurl,s

  • Android仿微信主界面设计

    先来一张效果图 一.ActionBar的设计 首先是main.xml,先定义这些菜单,界面稍后在调整 <menu xmlns:android="http://schemas.android.com/apk/res/android" tools:context=".MainActivity"> <item android:id="@+id/action_search" android:actionViewClass="a

  • JavaScript结合Bootstrap仿微信后台多图文界面管理

    js模仿微信后台管理的多图文界面,集成了ajax异步上传文件的插件,供大家参考,具体内容如下 效果图: 详细代码: html: <div id="wrap"> <div id="sidebar"> <div class="previewBox"> <!-- <p style="margin:10px 14px 0 14px;"><span class="ms

  • js实现微信分享代码

    通常自己做的一个页面想通过微信像朋友分享时,展示的标题和描述都是不是自己想要的,自己查了一些资料,原来是通过js来进行控制 展示效果如下: 标题.描述.还有分享的图片都是有js来控制的. js代码如下 <script> var dataForWeixin = { appId: "", MsgImg: "Christmas/201012189457639.gif",//显示图片 TLImg: "Christmas/201012189457639.

  • node.js微信公众平台开发教程

    用nodejs怎样来实现对微信公众平台的开发呢? 别的就不多说了,先来简单介绍微信公众平台的基本原理. 微信服务器就相当于一个转发服务器,终端(手机.Pad等)发起请求至微信服务器,微信服务器,然后将请求转发给自定义服务(这里就是我们的具体实现).服务处理完毕,然后转发给微信服务器,微信服务器再将具体响应回复到终端:通信协议为:HTTP:数据格式为:XML. 具体的流程如下图所示: 其实,我们需要做的事情,就是对HTTP请求,做出响应.具体的请求内容,我们按照特定的XML格式去解析,处理完毕后,

  • 微信QQ的二维码登录原理js代码解析

    在很多地方就是都出现了使用二维码登录,二维码付款,二维码账户等应用(这里的二维码种马,诈骗就不说了),二维码验证,多终端辅助授权应用开始多起来,这里先说下啥是二维码,其实二维码就是存了二进制数据的黑白图片,当出现要求二维码登录的时候,服务器会生成一条临时的唯一的二维码信息,发送到客户端以二维码(图片)的形式写入到网页,然后你就会看到统一的四个方形的二维码,如果做的好这个二维码信息应该是有时效的,这里暂且不考虑这些,就简单的微信登录作为例子看看吧: 首先说下整个授权流程: 在客户端网页中会不断向服

  • Android高仿微信聊天界面代码分享

    微信聊天现在非常火,是因其界面漂亮吗,哈哈,也许吧.微信每条消息都带有一个气泡,非常迷人,看起来感觉实现起来非常难,其实并不难.下面小编给大家分享实现代码. 先给大家展示下实现效果图: OK,下面我们来看一下整个小项目的主体结构: 下面是Activity的代码: package com.way.demo; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import jav

  • Java通过JsApi方式实现微信支付

    要使用JsApi进行微信支付,首先要从微信获得一个prepay_id,然后通过调用微信的jsapi完成支付,JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支付时返回.由于前端交互复杂,get_brand_wcpay_request:cancel或者get_brand_wcpay_request:fail可以统一处理为用户遇到错误或者主动放弃,不必细化区分. 示例代码如下: function onBridgeReady(){ WeixinJSBridge

  • javascript获取wx.config内部字段解决微信分享

    背景 在微信分享开发的时候我们通常的流程是 <?php require_once "jssdk.php"; $jssdk = new JSSDK("yourAppID", "yourAppSecret"); $signPackage = $jssdk->GetSignPackage(); ?> <!DOCTYPE html> <html lang="en"> <head>

  • Android App仿微信界面切换时Tab图标变色效果的制作方法

    概述 1.概述 学习Android少不了模仿各种app的界面,自从微信6.0问世以后,就觉得微信切换时那个变色的Tab图标屌屌的,今天我就带大家自定义控件,带你变色变得飞起~~ 好了,下面先看下效果图: 清晰度不太好,大家凑合看~~有木有觉得这个颜色弱爆了了的,,,下面我动动手指给你换个颜色: 有没有这个颜色比较妖一点~~~好了~下面开始介绍原理. 2.原理介绍 通过上面的效果图,大家可能也猜到了,我们的图标并非是两张图片,而是一张图,并且目标颜色是可定制的,谁让现在动不动就谈个性化呢. 那么我

随机推荐