JavaScript實(shí)現(xiàn)簡易QQ聊天界面
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)簡易QQ聊天界面的具體代碼,供大家參考,具體內(nèi)容如下
題目:
制作一個(gè)簡易聊天界面,當(dāng)用戶在界面下方的文本框中輸入信息后,點(diǎn)擊發(fā)送按鈕,文本框中的信息發(fā)送到界面中部的信息顯示區(qū)域,同時(shí)信息輸入文本框中的信息被清空,等待下次信息錄入。信息從上往下一條條顯示。
操作界面如下圖所示:

題目分析:
1.用戶輸入信息,需要文本框text;
2.確定輸入的信息后,點(diǎn)擊發(fā)送按鈕,即button按鈕;
3.文本框的信息將顯示在信息顯示區(qū)域textarea,或者div,本文將使用textarea;
4.單擊發(fā)送按鈕之后,文本框中上條內(nèi)容應(yīng)被清空;
代碼分析:
<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="發(fā)送" id="submit"> ?? ??? ?</div> ?? ?</form> </body>
此部分代碼功能為:在HTML頁面中呈現(xiàn)出基本的操作界面;
設(shè)置textarea大小為 rows=“15” cols=“40” ;
此模塊中的div標(biāo)簽作用在于為輸入本文框,按鈕設(shè)置背景色;
<style type="text/css">
?? ??? ?#mydiv
?? ??? ?{
?? ??? ??? ?background-color: pink;
?? ??? ??? ?width:300px;
?? ??? ?}
?? ??? ?#mytext
?? ??? ?{
?? ??? ??? ?border:2px pink dotted;
?? ??? ??? ?text-align: left;
?? ??? ?}
?? ?</style>為界面設(shè)置 css 樣式;
1.#mydiv :為id號(hào)為“ mydiv ” 的元素設(shè)置樣式;
2.#mytext :為id號(hào)為“ mytext ” 的元素設(shè)置樣式;
border:2px pink dotted; text-align: left;
border:設(shè)置 2像素大小 粉色 點(diǎn)狀邊框;
內(nèi)容顯示為居左;
<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(),當(dāng)頁面載入之后開始編譯;
因?yàn)?,文本域顯示的內(nèi)容是追加一條一條的,故用 += 賦值;
aname.innerText :
name的獲取通過.innerHTML獲取,也可用.innerText,區(qū)別在于.innerHTML中從對象的起始位置到終止位置的全部內(nèi)容,包括Html標(biāo)簽;而.innerText 去除了Html標(biāo)簽(可以理解為樣式)
var asubmit = document.getElementById("submit");
asubmit.onclick = function(){ }首先獲取發(fā)送按鈕動(dòng)作,為此動(dòng)作添加事件,具體事件內(nèi)容寫在大括號(hào){ }中;
amessage.value = "";
此條語句的作用在于,將每次文本框中的內(nèi)容發(fā)送之后,自動(dòng)清空上條內(nèi)容,為接收下調(diào)內(nèi)容做準(zhǔn)備;若沒有此條語句,則會(huì)出現(xiàn)以下情況:

圖中用紅色筆圈出部分!
源代碼
<!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="發(fā)送" id="submit">
?? ??? ?</div>
?? ?</form>
</body>
</html>以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)簡易聊天對話框
- javascript和jQuery實(shí)現(xiàn)網(wǎng)頁實(shí)時(shí)聊天的ajax長輪詢
- nodejs實(shí)現(xiàn)的一個(gè)簡單聊天室功能分享
- 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
- nw.js實(shí)現(xiàn)類似微信的聊天軟件
- Vue.js仿微信聊天窗口展示組件功能
- JavaScript/jQuery、HTML、CSS 構(gòu)建 Web IM 遠(yuǎn)程及時(shí)聊天通信程序
- js編寫簡單的聊天室功能
- nodejs基于WS模塊實(shí)現(xiàn)WebSocket聊天功能的方法
- AngularJS+Node.js實(shí)現(xiàn)在線聊天室
相關(guān)文章
js合并兩個(gè)數(shù)組生成合并后的key:value數(shù)組
這篇文章主要是介紹了js將兩個(gè)數(shù)組合并為類json方式,需要的朋友可以參考下2018-05-05
JavaScript 函數(shù)調(diào)用規(guī)則
2009-09-09
IE event.srcElement和FF event.target 功能比較
可以捕獲當(dāng)前事件作用的對象,如event.srcElement.tagName可以捕獲活動(dòng)標(biāo)記名稱。2010-03-03
12個(gè)非常有創(chuàng)意的JavaScript小游戲
JavaScript 在Web開發(fā)過程中已經(jīng)是必不可少的重要分子,他推動(dòng)著Web的交互性往越來越高的層次發(fā)展,現(xiàn)在的很多Web游戲也基于這類語言開發(fā)。2010-03-03
TypeScript使用vscode監(jiān)視代碼編譯的過程
這篇文章主要介紹了TypeScript使用vscode監(jiān)視代碼編譯,使用tsc 文件名稱可以將ts文件轉(zhuǎn)化為js文件,js文件可以引入在html文件中直接使用,需要的朋友可以參考下2021-12-12
canvas實(shí)現(xiàn)動(dòng)態(tài)小球重疊效果
在javascript運(yùn)動(dòng)系列中,詳細(xì)介紹了各種運(yùn)動(dòng),其中就包括碰壁運(yùn)動(dòng)。但是,如果用canvas去實(shí)現(xiàn),卻是另一種思路。本文將詳細(xì)介紹canvas動(dòng)態(tài)小球重疊效果。下面跟著小編一起來看下吧2017-02-02

