基于jQuery實(shí)現(xiàn)簡(jiǎn)單人工智能聊天室
花了倆小時(shí)折騰出來的,jQuery人工智能聊天室長(zhǎng)這樣:
主要功能:
1.當(dāng)然是聊天啦~點(diǎn)擊飛機(jī)按鈕或者回車可以發(fā)送消息到面板。
2.輸入特定的內(nèi)容,系統(tǒng)會(huì)給你相應(yīng)的回復(fù)(這里我只設(shè)置了Hello,How are you和詢問時(shí)間的自動(dòng)回復(fù))。
3.點(diǎn)擊叉叉可以清除面板上的所有聊天記錄。
4.問時(shí)間的時(shí)候,根據(jù)現(xiàn)在的時(shí)間,會(huì)給你相應(yīng)的不同的回復(fù),比如現(xiàn)在是22-23點(diǎn),系統(tǒng)會(huì)回復(fù)你“good night”。
5.隨著聊天的進(jìn)行,聊天面板右側(cè)的滾動(dòng)條會(huì)一直維持在最底部。
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 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。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- nodejs實(shí)現(xiàn)的一個(gè)簡(jiǎn)單聊天室功能分享
- 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
- AngularJS+Node.js實(shí)現(xiàn)在線聊天室
- js編寫簡(jiǎn)單的聊天室功能
- Ajax PHP JavaScript MySQL實(shí)現(xiàn)簡(jiǎn)易無刷新在線聊天室
- JavaScript仿聊天室聊天記錄
- Nodejs實(shí)現(xiàn)多房間簡(jiǎn)易聊天室功能
- Node.js中使用socket創(chuàng)建私聊和公聊聊天室
- 基于javascript、ajax、memcache和PHP實(shí)現(xiàn)的簡(jiǎn)易在線聊天室
- jQuery實(shí)現(xiàn)簡(jiǎn)單聊天室
相關(guān)文章
jQuery實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)易的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
jQuery的Ajax的自動(dòng)完成功能控件簡(jiǎn)要說明
jQuery的Ajax的自動(dòng)完成功能 允許您輕松地創(chuàng)建自動(dòng)完成/自動(dòng)提示框的文本輸入字段;如果沒有特定查詢的結(jié)果,它停止發(fā)送請(qǐng)求到服務(wù)器的其他查詢感興趣的朋友可以參考下啊2013-02-02
jquery導(dǎo)航制件jquery鼠標(biāo)經(jīng)過變色效果示例
這篇文章主要介紹了jquery鼠標(biāo)經(jīng)過變色效果代碼,大家參考使用吧2013-12-12
jQuery學(xué)習(xí)筆記之jQuery動(dòng)畫效果
本次學(xué)習(xí)分為兩個(gè)文件的測(cè)試,第一個(gè)是基本動(dòng)畫,第二個(gè)是滑動(dòng)和透明動(dòng)畫效果,分別如下2013-09-09
jQuery實(shí)現(xiàn)手機(jī)上輸入后隱藏鍵盤功能
最近做了這樣一個(gè)功能,讓用戶輸入手機(jī)發(fā)送驗(yàn)證碼,輸完11位手機(jī)號(hào)后,自動(dòng)隱藏鍵盤。下面通過本文給大家分享實(shí)現(xiàn)方法,一起看看吧2017-01-01
基于jQuery實(shí)現(xiàn)滾動(dòng)刷新效果
這篇文章主要為大家詳細(xì)介紹了基于jQuery實(shí)現(xiàn)滾動(dòng)刷新效果,使用Ajax獲取后臺(tái)數(shù)據(jù)更新前端頁(yè)面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01

