JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)簡(jiǎn)易QQ聊天界面的具體代碼,供大家參考,具體內(nèi)容如下
題目:
制作一個(gè)簡(jiǎn)易聊天界面,當(dāng)用戶(hù)在界面下方的文本框中輸入信息后,點(diǎn)擊發(fā)送按鈕,文本框中的信息發(fā)送到界面中部的信息顯示區(qū)域,同時(shí)信息輸入文本框中的信息被清空,等待下次信息錄入。信息從上往下一條條顯示。
操作界面如下圖所示:
題目分析:
1.用戶(hù)輸入信息,需要文本框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頁(yè)面中呈現(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è)面載入之后開(kāi)始編譯;
因?yàn)椋谋居蝻@示的內(nèi)容是追加一條一條的,故用 += 賦值;
aname.innerText :
name的獲取通過(guò).innerHTML獲取,也可用.innerText,區(qū)別在于.innerHTML中從對(duì)象的起始位置到終止位置的全部?jī)?nèi)容,包括Html標(biāo)簽;而.innerText 去除了Html標(biāo)簽(可以理解為樣式)
var asubmit = document.getElementById("submit"); asubmit.onclick = function(){ }
首先獲取發(fā)送按鈕動(dòng)作,為此動(dòng)作添加事件,具體事件內(nèi)容寫(xiě)在大括號(hào){ }中;
amessage.value = "";
此條語(yǔ)句的作用在于,將每次文本框中的內(nèi)容發(fā)送之后,自動(dòng)清空上條內(nèi)容,為接收下調(diào)內(nèi)容做準(zhǔn)備;若沒(méi)有此條語(yǔ)句,則會(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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)簡(jiǎn)易聊天對(duì)話(huà)框
- javascript和jQuery實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)聊天的ajax長(zhǎng)輪詢(xún)
- nodejs實(shí)現(xiàn)的一個(gè)簡(jiǎn)單聊天室功能分享
- 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
- nw.js實(shí)現(xiàn)類(lèi)似微信的聊天軟件
- Vue.js仿微信聊天窗口展示組件功能
- JavaScript/jQuery、HTML、CSS 構(gòu)建 Web IM 遠(yuǎn)程及時(shí)聊天通信程序
- js編寫(xiě)簡(jiǎn)單的聊天室功能
- nodejs基于WS模塊實(shí)現(xiàn)WebSocket聊天功能的方法
- AngularJS+Node.js實(shí)現(xiàn)在線(xiàn)聊天室
相關(guān)文章
淺談HBuilderX開(kāi)發(fā)小程序的一些問(wèn)題
本文主要介紹了HBuilderX開(kāi)發(fā)小程序的一些問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02layui 實(shí)現(xiàn)table翻頁(yè)滾動(dòng)條位置保持不變的例子
今天小編就為大家分享一篇layui 實(shí)現(xiàn)table翻頁(yè)滾動(dòng)條位置保持不變的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JS實(shí)現(xiàn)的加減乘除四則運(yùn)算計(jì)算器示例
這篇文章主要介紹了JS實(shí)現(xiàn)的加減乘除四則運(yùn)算計(jì)算器,涉及javascript事件響應(yīng)及數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-08-08python實(shí)現(xiàn)迭代法求方程組的根過(guò)程解析
這篇文章主要介紹了python實(shí)現(xiàn)迭代法求方程組的根過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11js 變量類(lèi)型轉(zhuǎn)換常用函數(shù)與代碼[比較全]
腳本之家收集了一些 數(shù)字與字符之間的轉(zhuǎn)換,數(shù)組轉(zhuǎn)為字符等函數(shù)代碼。2009-12-12JavaScript Promise原理與實(shí)現(xiàn)刨析
首先呢,Promise是異步中比較重要的知識(shí)點(diǎn),學(xué)習(xí)的最好方法就是掌握它的基本原理。所以這一篇主要說(shuō)一下如何用JS來(lái)實(shí)現(xiàn)一個(gè)自己的promise2022-10-10詳解使用grunt完成requirejs的合并壓縮和js文件的版本控制
這篇文章主要介紹了詳解使用grunt完成requirejs的合并壓縮和js文件的版本控制 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03