这篇文章主要为大家详细介绍了基于jQuery实现简单人工智能聊天室的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
花了俩小时折腾出来的,jQuery人工智能聊天室长这样:
主要功能:
1.当然是聊天啦~点击飞机按钮或者回车可以发送消息到面板。
2.输入特定的内容,系统会给你相应的回复(这里我只设置了Hello,How are you和询问时间的自动回复)。
3.点击叉叉可以清除面板上的所有聊天记录。
4.问时间的时候,根据现在的时间,会给你相应的不同的回复,比如现在是22-23点,系统会回复你“good night”。
5.随着聊天的进行,聊天面板右侧的滚动条会一直维持在最底部。
HTML:
<p class="chat-box"> </p> <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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)