js创建简易的聊天窗口

在这里插入代码片<!DOCTYPE html>
<html>

<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		* {
			padding: 0;
			margin: 0;
		}

		section {
			width: 400px;
			padding: 10px;
			border: solid black 1px;
			float: left;
			margin-left: 20px;
		}

		.context {
			width: 400px;
			height: 300px;
			border: 1px dashed #C1C1C1;
			overflow: scroll;
			margin-bottom: 10px;
		}

		textarea {
			width: 400px;
			height: 100px;
		}

		button {
			width: 100px;
		}
	</style>
</head>

<body>
	<section>
		<div class="context">

		</div>
		<textarea></textarea>
		<button id="btn1">发送</button>
	</section>
	<section>
		<div class="context">

		</div>
		<textarea></textarea>
		<button id="btn2">发送</button>
	</section>
</body>

</html>

<script type="text/javascript">
	//通过id名称获取元素对象
	function $id(idName) {
		return document.getElementById(idName);
	}
	var cont1 = document.getElementsByClassName("context")[0];
	var cont2 = document.getElementsByClassName("context")[1];
	var btn1 = $id("btn1");
	var btn2 = $id("btn2");
	var text1 = document.getElementsByTagName("textarea")[0];
	var text2 = document.getElementsByTagName("textarea")[1];

	function toDB(num) {
		return num < 10 ? "0" + num : num;
	}
	function time() {//获取时间
		return toDB(new Date().getFullYear()) + '/' + toDB(new Date().getMonth()) + '/' + toDB(new Date().getDate()) + '   ' + toDB(new Date().getHours()) + ':' + toDB(new Date().getMinutes()) + ':' + toDB(new Date().getSeconds())
	}


	btn1.onclick = function () {
		cont2.innerHTML += '<div><span>' + time() + '</span><p>' + text1.value + '</p></div>';
		cont1.innerHTML += '<div style="text-align:right"><span>' + time() + '</span><p>' + text1.value + '</p></div>';
		cont1.scrollTop = cont1.scrollHeight;//滚动条距离顶部=滚动的高度。保持显示最新内容。
	}
	btn2.onclick = function () {
		cont1.innerHTML += '<div><span>' + time() + '</span><p>' + text2.value + '</p></div>';
		cont2.innerHTML += '<div style="text-align:right"><span>' + time() + '</span><p>' + text2.value + '</p></div>';
		cont2.scrollTop = cont2.scrollHeight;
	}

	document.onkeydown = function (eve) {//ctrl+回车发送消息。
		var e = eve || event;
		var code = e.keyCode || e.which || e.charCode;
		if (e.ctrlKey && code === 13 && document.activeElement == text1) {//文本框聚焦时才可使用组合键。
			btn1.onclick();
		} else if (e.ctrlKey && code === 13 && document.activeElement == text2) {
			btn2.onclick();
		}
	}
</script>

生成两个简易聊天窗口。可以用组合键发送消息。自己发送的消息显示在右。对方发送的消息显示在左。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值