JavaScript实现简易QQ聊天界面

本文实例为大家分享了JavaScript实现简易QQ聊天界面的具体代码,供大家参考,具体内容如下

题目:

制作一个简易聊天界面,当用户在界面下方的文本框中输入信息后,点击发送按钮,文本框中的信息发送到界面中部的信息显示区域,同时信息输入文本框中的信息被清空,等待下次信息录入。信息从上往下一条条显示。

操作界面如下图所示:

题目分析:

1.用户输入信息,需要文本框text;
2.确定输入的信息后,点击发送按钮,即button按钮;
3.文本框的信息将显示在信息显示区域textarea,或者div,本文将使用textarea;
4.单击发送按钮之后,文本框中上条内容应被清空;

代码分析:

<body>
    <form id="myform" method="post">
        <textarea id="mytext" rows="15" cols="40"></textarea><br>
        <div id="mydiv">
        <span id="name">丫丫:</span>
        <input type="text" name="message" id="message">
        <input type="button" value="发送" id="submit">
        </div>
    </form>
</body>

此部分代码功能为:在HTML页面中呈现出基本的操作界面;
设置textarea大小为 rows=“15” cols=“40” ;
此模块中的div标签作用在于为输入本文框,按钮设置背景色;

<style type="text/css">
        #mydiv
        {
            background-color: pink;
            width:300px;
        }
        #mytext
        {
            border:2px pink dotted;
            text-align: left;
        }
    </style>

为界面设置 css 样式;

1.#mydiv :为id号为“ mydiv ” 的元素设置样式;
2.#mytext :为id号为“ mytext ” 的元素设置样式;

border:2px pink dotted;
text-align: left;

border:设置 2像素大小 粉色 点状边框;
内容显示为居左;

<script type="text/javascript">
        window.onload = function()
        {
            var aname = document.getElementById("name");
            var amessage = document.getElementById("message");
            var amytext = document.getElementById("mytext");
            var asubmit = document.getElementById("submit");
            asubmit.onclick = function()
            {
                amytext.value += aname.innerText + amessage.value +"\n\n" ;
                amessage.value = "";
            }
        }
    </script>

window.onload = function(),当页面载入之后开始编译;
因为,文本域显示的内容是追加一条一条的,故用 += 赋值;
aname.innerText :
name的获取通过.innerHTML获取,也可用.innerText,区别在于.innerHTML中从对象的起始位置到终止位置的全部内容,包括Html标签;而.innerText 去除了Html标签(可以理解为样式)

var asubmit = document.getElementById("submit");
asubmit.onclick = function(){ }

首先获取发送按钮动作,为此动作添加事件,具体事件内容写在大括号{ }中;

amessage.value = "";

此条语句的作用在于,将每次文本框中的内容发送之后,自动清空上条内容,为接收下调内容做准备;若没有此条语句,则会出现以下情况:

图中用红色笔圈出部分!

源代码

<!DOCTYPE html>
<html>
<head>
    <title>QQChat</title>
    <meta charset="utf-8">
    <style type="text/css">
        #mydiv
        {
            background-color: pink;
            width:300px;
        }
        #mytext
        {
            border:2px pink dotted;
            text-align: left;
        }
    </style>
    <script type="text/javascript">
        window.onload = function()
        {
            var aname = document.getElementById("name");
            var amessage = document.getElementById("message");
            var amytext = document.getElementById("mytext");
            var asubmit = document.getElementById("submit");
            asubmit.onclick = function()
            {
                amytext.value += aname.innerHTML + amessage.value +"\n\n" ;
                amessage.value = "";
            }
        }
    </script>
</head>
<body>
    <form id="myform" method="post">
        <textarea id="mytext" rows="15" cols="40"></textarea><br>
        <div id="mydiv">
        <span id="name">丫丫:</span>
        <input type="text" name="message" id="message">
        <input type="button" value="发送" id="submit">
        </div>
    </form>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • js实现简易聊天对话框

    本文实例为大家分享了js实现简易聊天对话框的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>聊天对话框</title> <style type="text/css"> *{font-size: 14px; padding:0; margin:0;} .main{ posit

  • JavaScript/jQuery、HTML、CSS 构建 Web IM 远程及时聊天通信程序

    以及需要用到Http方式和Openfire通信的第三方库(JabberHTTPBind). JabberHTTPBind是jabber提供的XMPP协议通信的Http bind发送的形式,它可以完成WebBrowser和Openfire建立长连接通信. 主要通信流程如下图所示: 用户A通过JavaScript jsjac.js库发送一条消息到JabberHTTPBind这个Servlet容器,然后JabberHTTPBind的Servlet容器会向Openfire发送XMPP协议的XML报文.O

  • AngularJS+Node.js实现在线聊天室

    不得不说,上手AngularJS比我想象得难多了,把官网提供的PhoneCat例子看完,又跑到慕课网把大漠穷秋的AngularJS实战系列看了一遍,对于基本的使用依然有很多说不清道不明的疑惑,于是决定通过做一个在线聊天室帮助理解.DEMO可以戳→chat room,代码可以戳→ChatRoom-AngularJS. 清晰图可以戳 http://files.jb51.net/file_images/article/201508/201508281040051.gif 功能 着手开发之前,首先明确一

  • nodejs实现的一个简单聊天室功能分享

    今天我来实现一个简单的聊天室,后台用nodejs, 客户端与服务端通信用socket.io,这是一个比较成熟的websocket框架. 初始工作 1.安装express, 用这个来托管socket.io,以及静态页面,命令npm install express --save,--save可以使包添加到package.json文件里. 2.安装socket.io,命令npm install socket.io --save. 编写服务端代码 首先我们通过express来托管网站,并附加到socke

  • nw.js实现类似微信的聊天软件

    nw.js实现类似微信的聊天软件 公司 qq被屏蔽,微信被屏蔽,怎么与外边通讯,你懂的.当然,也适合公司自己内部架设服务器,通讯. 项目地址: free chat 截图: 以上就是给大家分享的这个freechat的全部内容了,小伙伴们可以自由扩展哦,你懂得~

  • javascript和jQuery实现网页实时聊天的ajax长轮询

    介绍 大家都知道,HTTP协议是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点: 1.支持客户/服务器模式; 2.简单快速; 3.灵活; 4.无连接; 5.无状态. 所以一次的请求都是一个单独的事件,和前后都没有联系.所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,从而源源不段地获取信息. 一直以来的方式无非有这么几种: 1.长连接,即服务器端不断开联系,PHP服务器端用ob系列函数来不停的读取输出,但是相当耗费服务器资源. 2.Flash socket,

  • nodejs基于WS模块实现WebSocket聊天功能的方法

    本文实例讲述了nodejs基于WS模块实现WebSocket聊天功能的方法.分享给大家供大家参考,具体如下: WebSocket 模块众多,我选择了一个较为简单的模块 进行了实现. 工具:Sublime 技术:Node.js 引用模块 ws 最终效果如下 本来打算制作网络画板,因为工作忘记了,这里就简单实现了 群聊功能 没什么好介绍的,网上代码案例太多了,(各位新手主要碰见的问题,可能也就是 node 导入模块问题了) 介绍一下安装模块: 找到安装node 目录,进入到 npm 目录下  运行

  • Vue.js仿微信聊天窗口展示组件功能

    源码:https://github.com/doterlin/vue-wxChat 演示地址:https://doterlin.github.io/vue-wxChat/ 运行 # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build 介绍 支持文本和图片的展示(后续将

  • 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室

    一,利用Node搭建静态服务器 这个是这个项目的底层支撑部分.用来支持静态资源文件像html, css, gif, jpg, png, javascript, json, plain text等等静态资源的访问.这里面是有一个mime类型的文件映射. mime.js /** * mime类型的 map * @ author Cheng Liufeng * @ date 2014/8/30 * 当请求静态服务器文件的类型 html, css, gif, jpg, png, javascript,

  • js编写简单的聊天室功能

    这个聊天室写的特别简易,比较适合刚开始学习js的同学借鉴,当然,写的不好,也希望诸位大神可以进行批评改正. 聊天室要求: 1.不能发空消息 2.敏感字***显示 3.图片替换 开心,尴尬 4.显示聊天内容和时间 5.每发一条信息,随机显示名称,先把一些名称定义到array里面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> &

随机推荐