基于jQuery实现简单人工智能聊天室


Posted in Javascript onFebruary 10, 2017

花了俩小时折腾出来的,jQuery人工智能聊天室长这样:

主要功能:

1.当然是聊天啦~点击飞机按钮或者回车可以发送消息到面板。
2.输入特定的内容,系统会给你相应的回复(这里我只设置了Hello,How are you和询问时间的自动回复)。
3.点击叉叉可以清除面板上的所有聊天记录。
4.问时间的时候,根据现在的时间,会给你相应的不同的回复,比如现在是22-23点,系统会回复你“good night”。
5.随着聊天的进行,聊天面板右侧的滚动条会一直维持在最底部。

HTML:

<div class="chat-box"> 
</div> 
<form class="form-inline chat-form"> 
 <input type="text" class="form-control chat-message" placeholder="Say Something"> 
 <button type="button" class="btn btn-primary chat-send" title="Send Message"> 
 <i class="fa fa-paper-plane" aria-hidden="true"> 
 </i> 
 </button> 
 <button type="reset" class="btn btn-success chat-reset" title="Reset Message"> 
 <i class="fa fa-refresh" aria-hidden="true"> 
 </i> 
 </button> 
 <button type="button" class="btn btn-danger chat-clear" title="Clear the Chat Box"> 
 <i class="fa fa-times" aria-hidden="true"> 
 </i> 
 </button> 
</form> 
<hr> 
<footer> 
 Designed By 
 <a href="http://blog.csdn.net/alenhhy" rel="external nofollow" target="_blank"> 
 Alen Hu 
 </a> 
</footer>

 *使用了Bootstrap3框架。

JQuery:

$(document).ready(function() { 
 
 //send the message by click 
 $(".chat-send").click(sendMsg); 
 
 //press enter to send 
 $("form").keypress(function(event) { 
  if (event.keyCode === 13) { 
   event.preventDefault(); 
   sendMsg(); 
  } 
 }); 
 
 //clear the chat box 
 $(".chat-clear").click(clearChatBox); 
}); 
 
//send message to chat box 
function sendMsg() { 
 var msg = $(".chat-message"); 
 var msgVal = msg.val(); 
 var chatBox = $(".chat-box"); 
 if (msgVal) { 
  var msgAppend = "<p><span id='you'>You: </span>" + msgVal + "</p><hr class='you-hr'>"; 
  chatBox.append(msgAppend); 
 } else {} 
 
 //dialog reply 
 dialog(msgVal); 
 
 //empty input 
 msg.val(""); 
 
 //keep the scroll in bottom 
 chatBox.scrollTop(chatBox[0].scrollHeight); 
} 
 
//set up the AI dialog 
function dialog(msg){ 
 var replyArr = ["Hi, how's it going :)","I'm good, thx, U? :)"]; 
 msg = msg.toLowerCase(); 
 var time = new Date(); 
 var hour = time.getHours(); 
 var minute = time.getMinutes(); 
 var currentTime = plusZero(hour) + ":" + plusZero(minute); 
 
 var chatBox = $(".chat-box"); 
 
 if(msg.indexOf("hello") != -1){ 
  chatBox.append("<p><span id='ai'>AI: </span>" + replyArr[0] + "</p><hr class='ai-hr'>"); 
 } 
 else if(msg.indexOf("how are you") != -1 || msg.indexOf("how are u") != -1){ 
  chatBox.append("<p><span id='ai'>AI: </span>" + replyArr[1] + "</p><hr class='ai-hr'>"); 
 } 
 else if(msg.indexOf("time") != -1){ 
  chatBox.append("<p><span id='ai'>AI: </span>Current Time: " + currentTime + ". " + timeGreeting(hour) + "~ :)</p><hr class='ai-hr'>"); 
 } 
 else {} 
} 
 
//add 0 if time number is <10 
function plusZero(x){ 
 if(x < 10){ 
  x = "0" + x; 
 } 
 else { 
  x = x; 
 } 
 return x; 
} 
 
//greeting by hour 
function timeGreeting(h){ 
 var greeting = ["U need to sleep","Good morning","Lunch time now","Feel asleep? Have some coffee","Free time~Yeah","Good night"]; 
 
 if(h>=0&&h<=6){ 
  return greeting[0]; 
 } 
 else if(h>=7&&h<=10){ 
  return greeting[1]; 
 } 
 else if(h>=11&&h<=13){ 
  return greeting[2]; 
 } 
 else if(h>=14&&h<=18){ 
  return greeting[3]; 
 } 
 else if(h>=19&&h<=21){ 
  return greeting[4]; 
 } 
 else if(h>=22&&h<=23){ 
  return greeting[5]; 
 } 
 else { 
  return ""; 
 } 
} 
 
//clear the chat box 
function clearChatBox() { 
 $(".chat-box").html(""); 
}

DEMO在这儿,欢迎FORK:AI Chat Box。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 文章截取部分无损html显示实现代码
May 04 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
Feb 12 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
JavaScript中诡异的delete操作符
Mar 12 Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 Javascript
jQuery实现textarea自动增长宽高的方法
Dec 18 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
JS array数组检测方式解析
May 19 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
Oct 28 Javascript
绘制微信小程序验证码功能的实例代码
Jan 05 Javascript
基于jQuery实现咖啡订单管理简单应用
Feb 10 #Javascript
基于jQuery实现弹幕APP
Feb 10 #Javascript
BOM之navigator对象和用户代理检测
Feb 10 #Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 #Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 #Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
Feb 10 #Javascript
javascript自执行函数
Feb 10 #Javascript
You might like
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
提问的智慧(2)
2006/10/09 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
php统计文章排行示例
2014/03/04 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
初学Javascript的一些总结
2008/11/03 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
python游戏地图最短路径求解
2019/01/16 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
为什么说python更适合树莓派编程
2020/07/20 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
停电调休通知
2015/04/16 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
可可西里观后感
2015/06/08 职场文书
新年寄语2016
2015/08/17 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书