在线聊天室小程序
2015-10-11 21:04
465 查看
最近,学习了慕课网上的jQuery课程,其中jQuery基础中有一个小实例在线聊天室。本人从网上下载了源码,自己实现了下。
这个小程序的流程很简单,就是输入用户信息登陆到聊天界面,在聊天界面可以进行聊天,界面可以自动获取聊天记录,在线人员,可以实现下线功能。界面如下:
程序的部分前端代码
登陆页面部分:
聊天室的前端代码为:
整个工程的源码下载地址http://download.csdn.net/detail/yanmei_yaomy/9172447
这个小程序的流程很简单,就是输入用户信息登陆到聊天界面,在聊天界面可以进行聊天,界面可以自动获取聊天记录,在线人员,可以实现下线功能。界面如下:
程序的部分前端代码
登陆页面部分:
<!DOCTYPE html> <html> <head> <base href="<%=basePath%>"> <title>用户登录</title> <script type="text/javascript" src="jquery-1.8.0.min.js"></script> <style type="text/css"> body{font-size:12px;text-align:center;} .content{width:350px;text-align:center;margin-top:110px;margin-left:auto;margin-right:auto; } .content div{margin-bottom:5px;} p{font-weight:bold;font-size:16px;} #spnMsg{background-color:#ffe0a3;display:none;} </style> <script type="text/javascript"> $(function($){ $("#spnMsg").ajaxStart(function(){ $(this).html("正在登陆.....").show(); }); $("#spnMsg").ajaxComplete(function(){ $(this).html("").hide(); }); $("#btnlogin").click(function(){ var $user=$("#username"); var $pass=$("#password"); $.ajax({ type:"POST", url:"DealData.jsp", data:"action=login&d="+new Date()+"&name="+$user.val()+"&pwd="+$pass.val(), success:function(data){ if(data.indexOf("True")>=0){ window.location.href="chatMain.html"; }else{ alert("用户名或密码错误!"); } } }); }); }); </script> </head> <body> <div class="content"> <p>用户登录</p> <div><label>用户名:</label><input type="text" id="username" name="username"/></div> <div><label> 密码:</label><input type="password" id="password" name="password"/></div> <div><input type="button" value="登陆" id="btnlogin"></div> <span id="spnMsg">Tip</span> </div> </body> </html>
聊天室的前端代码为:
<!DOCTYPE html> <html> <head> <title>聊天大厅</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script language="javascript" type="text/javascript" src="jquery-1.8.0.min.js"></script> <style type="text/css"> body{text-align:center;padding-top:70px;font-size:12px;} .container{width:710px;height:380px;margin-left:auto;margin-right:auto;border:4px solid gray;} .topframe{margin-bottom:5px;} .chat{width:60%;float:left;} #txtchat{width:370px;height:230px;overflow-y:scroll;margin-left:20px;} .online{width:20%;float:left;margin-right:70px;} #txtonline{width:130px;height:230px;overflow-y:scroll;} #txtchat,#txtonline{border:1px solid black;text-align:left;padding-left:10px;padding-top:10px;line-height:20px;} .format{clear:both;} p{font-weight:bold;font-size:14px;} .bottomframe{text-align:left;margin-left:25px;} .bottomframe textarea{width:465px;height:50px;} .sendcontent span{display:block;float:right;margin-right:100px;margin-top:15px;} </style> <script type="text/javascript"> $(document).ready(function(){ //键盘监听事件 $(document).keypress(function(e){ if(e.which==13){ sendMessage(); } }); //读取消息 getMessage(); //读取在线用户 getOnlineUser(); //初始化表情 initFace(); //自动刷新 AutoRefresh(); //给表情添加点击事件 $(".bottomframe image").click(function(){ var $txtobj=$("#txtcontent"); var contentstr=""; if($txtobj.val()!=undefined){ contentstr=$txtobj.val()+"<:"+this.id+":>"; }else{ contentstr="<:"+this.id+":>"; } $("#txtcontent").val(contentstr); }); //发送消息 $("#send").bind("click",sendMessage); //下线 $("#offline").click(function(){ if(confirm("确定要下线吗?")){ offline(); } }); }); //初始化表情 function initFace(){ var imgstr=""; for(var i=1;i<=7;i++){ imgstr+="<image src='QQface/"+i+".gif' id='"+i+"'/>" } $(".imgframe").html(imgstr); } //读取消息 function getMessage(){ $.ajax({ type:"POST", url:"DealData.jsp", data:"action=ChatList&d="+new Date(), success:function(data){ if(data.indexOf("unLogin")>=0){ alert("非法进入!"); window.location.href="index.jsp"; }else{ $("#txtchat").html(data); } } }); } //读取在线用户 function getOnlineUser(){ $.ajax({ type:"POST", url:"DealData.jsp", data:"action=onLineList&d="+new Date(), success:function(data){ $("#txtonline").html(data); } }); } //发送消息 function sendMessage(){ $.ajax({ type:"POST", url:"DealData.jsp", data:"action=SendContent&d="+new Date()+"&content="+$("#txtcontent").val(), success:function(data){ if(data.indexOf("True")>=0){ getMessage(); $("#txtcontent").val(""); gotoBottom(); }else{ alert("发送失败!"); } } }); } //下线 function offline(){ $.ajax({ type:"POST", url:"DealData.jsp", data:"action=OffLine&d="+new Date(), success:function(data){ if(data.indexOf("True")>=0){ alert("下线成功"); window.location.href="index.jsp"; } } }); } function gotoBottom(){ var $chatdiv=$(".chat"); $chatdiv.scrollTop=$chatdiv.scrollHeight; } //自动刷新 function AutoRefresh(){ setInterval(getMessage,2000); setInterval(getOnlineUser,4000); } </script> </head> <body> <div class="container"> <div class="topframe"> <div class="chat"> <p>聊天大厅</p> <div id="txtchat"></div> </div> <div class="online"> <p>当前在线人员</p> <div id="txtonline"></div> </div> <div class="format"></div> </div> <div class="bottomframe"> <div class="imgframe"></div> <div class="sendcontent"> <textarea id="txtcontent"></textarea> <span><input type="button" value="发送" id="send"/> <input type="button" value="下线" id="offline"/></span> </div> </div> </div> </body> </html>
整个工程的源码下载地址http://download.csdn.net/detail/yanmei_yaomy/9172447
相关文章推荐
- 1.微信密码盒子之密文
- c入门整人小程序
- 微信红包开发
- php实现微信公众平台账号自定义菜单类
- php实现微信公众号无限群发
- 微信开发第二讲 开发与微信交互的servlet
- 微信服务号开发系列培训第一讲 服务号如何连接Java Web应用
- Android高仿微信照片选择器+预览+显示照片
- 006.精度损失
- 微信支付(未完)
- php实现微信公众号无限群发
- php实现微信公众平台账号自定义菜单类
- javaweb之生成微信二维码
- 微信支付获取预支付订单id报错
- 微信:一个必须研究的产品
- 关闭微信浏览器
- 微信支付安卓集成
- 解决iOS9 下面微信不能调用的问题
- 微信端开发研究与技术调研(二)
- 微信端开发研究与技术调研(一)