博主信息
博文 45
粉丝 0
评论 1
访问量 40678
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
在线客服示例
源逸
原创
1156人浏览过

1.获取页面的按钮,文本域,对话列表,设置累加

2.给按钮添加单击事件,提交后触发把内容生成到列表

3.判断内容是否为空,长度是否等于0

4.创建新节点,设置用户头像,并把对话添加到列表中

5.设置定时器发送内容,时间约两秒

6.使用随机生成数字,代替数组中的下标获得相应的键值

7.创建客服节点和客服头像,拼接起来后把内容添加到窗口

8.判断当前列表累加是否大于10,相等则把对话内容清空

在线客服.png

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>模拟在线客服(单击事件,设置定时器随机发送内容,达到真实效果)2019.05.10</title>
<style type="text/css">
		div:nth-child(1) {
			width: 450px;
			height: 650px;
			background-color: lightskyblue;
			margin: 30px auto;
			color: #333;
			box-shadow: 2px 2px 2px #808080
		}
		
		h2 {
			text-align: center;
			margin-bottom: -10px;
		}
		div:nth-child(2) {
			width: 400px;
			height: 500px;
			border: 4px double green;
			background-color: #efefef;
			margin: 20px auto 10px;
		}
		
		ul {
			list-style: none;
			line-height: 2em;
			/*border: 1px solid red;*/
			overflow: hidden;
			padding: 15px;
		}

		table {
			width: 90%;
			height:80px;
			margin: auto;
		}

		textarea{
			/*width: 300px;*/
			border: none;
			resize: none;
			background-color: lightyellow;
			
		}
		button {
			width: 60px;
			height: 40px;
			background-color: seagreen;
			color: white;
			border: none;
			/*text-align: left;*/

		}
		button:hover {
			cursor: pointer;
			background-color: orange;
		}
	</style>
</head>
<body>
<div>
		<h2>在线客服</h2>
		<div contenteditable="true">
			<ul>
				<li></li>
			</ul>
		</div>
		<table>
			<tr>
				<td align="right">
					<textarea cols="50" rows="4" name="text" autofocus></textarea>
				</td>
				<td align="left">
					<button type=button>发送</button>
				</td>
			</tr>
		</table>	
	</div>
	<script>
		//获取页面基本元素
		var but = document.getElementsByTagName('button')[0];
		var text = document.getElementsByName('text')[0];
		var list = document.getElementsByTagName('li')[0];
		var sum = 0;//累加

		//给按钮设置单击事件,提交就执行
		but.onclick = function(){
			if(text.value.length === 0){
				alert('亲,内容不能为空哦~~');
				return false;
			
			}

			var userComment = text.value;
			//清空内容
			text.value = '';

			//添加对话列表
			var li = document.createElement('li');
			var userPic = '<img src="images/zly.jpg" width="30" style="border-radius:50%;">';
			
			li.innerHTML = userPic + userComment;
			list.appendChild(li);

			sum += 1;

			//客服定时器
			setTimeout(function(){
				var info = [
					'亲,除退款,退货,包邮之外都能以身相许哦~',
					'太难了,能换个问题吗?',
					'噢,这也太帅了~',
					'你好烦人呀,本姑娘好累,不知道怜香惜玉吗?',
					'除了退货,退款,维修,什么问题都可以问',
					'啥事呀,我的帅哥哥'
				];
				//var temp = info[Math.floor(Math.random()*3)];
				var temp = info[Math.floor(Math.random()*6)];
				var reply = document.createElement('li');
				var kefuPic = '<img src="images/zly.jpg" width="30" style="border-radus:50%;">';

				reply.innerHTML = kefuPic + '<span style="color:red;">' + temp + '</span>';
				list.appendChild(reply);
				sum += 1;
			},2000);

			//清空对话内容
			if(sum > 10){
				list.innerHTML = '';
				sum = 0;
			}
		};
	</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学