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

作者:袖梨 2022-06-25

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

主要功能:

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

HTML:

代码如下 复制代码


Designed By

Alen Hu

*使用了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

functionsendMsg() {

varmsg = $(".chat-message");

varmsgVal = msg.val();

varchatBox = $(".chat-box");

if(msgVal) {

varmsgAppend ="

You: "+ msgVal +"


";

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

functiondialog(msg){

varreplyArr = ["Hi, how's it going :)","I'm good, thx, U? :)"];

msg = msg.toLowerCase();

vartime =newDate();

varhour = time.getHours();

varminute = time.getMinutes();

varcurrentTime = plusZero(hour) +":"+ plusZero(minute);

varchatBox = $(".chat-box");

if(msg.indexOf("hello") != -1){

chatBox.append("

AI: "+ replyArr[0] +"


");

}

elseif(msg.indexOf("how are you") != -1 || msg.indexOf("how are u") != -1){

chatBox.append("

AI: "+ replyArr[1] +"


");

}

elseif(msg.indexOf("time") != -1){

chatBox.append("

AI: Current Time: "+ currentTime +". "+ timeGreeting(hour) +"~ :)


");

}

else{}

}

//add 0 if time number is

functionplusZero(x){

if(x

x ="0"+ x;

}

else{

x = x;

}

returnx;

}

//greeting by hour

functiontimeGreeting(h){

vargreeting = ["U need to sleep","Good morning","Lunch time now","Feel asleep? Have some coffee","Free time~Yeah","Good night"];

if(h>=0&&h

returngreeting[0];

}

elseif(h>=7&&h

returngreeting[1];

}

elseif(h>=11&&h

returngreeting[2];

}

elseif(h>=14&&h

returngreeting[3];

}

elseif(h>=19&&h

returngreeting[4];

}

elseif(h>=22&&h

returngreeting[5];

}

else{

return"";

}

}

//clear the chat box

functionclearChatBox() {

$(".chat-box").html("");

}

DEMO在这儿,欢迎FORK:。

相关文章

精彩推荐