博客列表 >编写一个在线客服功能(仿机器人聊天窗口)

编写一个在线客服功能(仿机器人聊天窗口)

桃儿的博客
桃儿的博客原创
2019年05月12日 16:43:362177浏览

编写一个在线客服功能(仿机器人聊天窗口)


实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>编写一个在线客服功能(仿机器人聊天窗口)</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" onkeydown="addComment(this)" autofocus></textarea></td>
            <!--<td align="right"><input type="text" name="text" onkeydown="addComment(this)" autofocus></td>-->
            <td align="left"><button type=button>发送</button></td>
        </tr>
    </table>
</div>
<script type="text/javascript">
    //获取到页面中的按钮,文本域,对话内容区
    var btn = document.getElementsByTagName('button')[0];
    var text = document.getElementsByName('text')[0];
    var list = document.getElementsByTagName('ul')[0];
    var sum = 0;
    //添加按钮点击事件,获取用户数据并推送到对话窗口中
    btn.onclick=function talk(){
        // console.log(text.value);
        //获取用户提交的内容
        if(text.value.length===0){
            alert('好歹说点啥嘛!!!');
            return false;
        }
        var userComment=text.value;
        //立即清空用户信息区
        text.value='';
        //创建一个新节点li
        var li=document.createElement('li');
        var userPic='<img src="images/user.jpg" width="30" style="border-radius: 50%">';
        li.innerHTML=userPic+'用户:'+'<br>'+'<span style="color:red">'+userComment+'</span>'+'     ';
        //将新节点插入到对话列表中
        list.appendChild(li);
        sum+=1;
        //设置用户输入的信息右侧显示
        li.style.textAlign="right";
        // 定时器,2秒后执行
        setTimeout(function(){
            var info=['来啦,老弟!','来唠嗑吧!!!','没事来看看我!','好开心!','人家不高兴了啦!'];
            var temp=info[Math.floor(Math.random()*5)];//获取随机的内容
            var reply = document.createElement('li');  /*创建新元素用来保存回复内容*/
            var kefupic='<img src="images/kf.jpg" width="30" style="border-radius:50%;">';
            reply.innerHTML=kefupic+'客服:'+'<br>'+'     '+'<span style="color:orchid">'+temp+'</span>';
            list.appendChild(reply);//将回复内容添加到窗口中
            sum+=1;
            //设置回复信息左侧显示
            reply.style.textAlign="left";
        },2000);
        //如果回复内容大于6条则清空聊天窗口
        if(sum>6){
            list.innerHTML='';//清空对话窗口内容
            sum=0;//清空计数器
        }
    }
    //回车键发送信息
    function addComment(comment){
        if(event.keyCode ===13){
            // console.log('aaa');
            btn.onclick();
        }
    }


</script>
</body>
</html>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议