摘要:<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> &n
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{margin: 0px;padding: 0px;}
.div{
height: 550px;
width: 300px;
background:#ccc;
text-align: center;
margin-left: 50px;
margin-top:10px;
}
.div div{
padding-top: 10px;
}
.content{
list-style: none;
width: 260px;
margin: 10px auto;
height: 380px;
color:black;
font-size:14px;
background: white;
overflow: auto;
}
.content li{
text-align: left;
margin:10px;
}
.text{
margin: 10px 0;
width: 260px;
height: 30px;
}
.submit{
width: 262px;
height:30px;
margin: 0px auto;
border:none;
background:lightblue;
color:#fff;
border-radius: 5px;
}
.submit:hover{
background:lightsalmon;
}
p{
height:40px;
line-height: 40px;
font-weight: bold;
font-size:20px;
background: yellowgreen;
}
</style>
</head>
<body>
<div class="div">
<p>在线客服</p>
<div>
<ul class="content"></ul>
</div>
<textarea class="text"></textarea><br>
<button class="submit">发表</button>
</div>
</body>
<script type="text/javascript">
let content = document.querySelector('.content');
let text = document.querySelector('.text');
let submit = document.querySelector('.submit');
let num = 0;
submit.onclick = function(){
if (num > 10){
content.innerHTML="";
}
let value = text.value;
let li = document.createElement("li");
li.innerHTML="游客:"+value;
content.appendChild(li);
let li1 = document.createElement("li");
setTimeout(function(){
li1.style.color="red";
let arr = ["您好,很高兴为您服务!","您能详情说下嘛,我不太清楚","不好意思,你能说明白些吗?","好海哦!","感觉人生达到了巅峰"];
let count = Math.round(Math.random()*arr.length)-1;
console.log(count);
li1.innerHTML = "客服:"+arr[count];
content.appendChild(li1);
num ++;
},2000)
}
</script>
</html>添加了回复等待时间,用setTimeOut()函数,有两个参数,第一个参数为函数,第二个为时间。本案例设置的为2S钟
根学习的案例一样添加了个计数器,在大于10条数据的时候进行清空。
样式有所改动,在鼠标放到发送按钮时,button背景色会切换。
数据添加多会出现样式混乱,为ul标签添加了overflow:auto,让超出部分自动有个侧边滚动条。
代码执行结果如下:

批改老师:西门大官人批改时间:2019-03-03 13:28:18
老师总结:实现思路比较清晰,不错。不过当数据多于10条后,最好不要全部清空,把前面的数据清除掉,保留后面的数据,界面和体验上会更好一些