1. 程式人生 > >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>

此程式碼完全個人編寫,有不妥之處,請見諒!