<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>屁屁聊天</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>屁屁聊天 PPJoke</div>
<div>
<p>功能/特点</p>
<ul>
<li>基于Ajax技术</li>
<li>运用了成熟稳定的prototype/scriptaculous框架</li>
<li>数据传送量小</li>
<li>页面嵌入聊天</li>
<li>自定义强突出个性化</li>
<li>支持换肤</li>
<li>支持表情</li>
<li>更改颜色</li>
</ul>
<p>开发计划</p>
<ul>
<li>实现页面浮动</li>
<li>后台自定义开放</li>
</ul>
</div>
<div>demo</div>
<div>
<script type="text/javascript">
document.write("<div id ='load'>正在加载....</div>");
var style = document.createElement("link");
style.rel="stylesheet";
style.type="text/css";
style.href='ppjoke/ppjoke.css';
style.title='ppjoke';
var head=document.getElementsByTagName("head")[0];
head.appendChild(style);
</script>
<script language="JavaScript" type="text/javascript" src="ppjoke/lib/prototype.js"></script>
<script type="text/javascript" src="ppjoke/src/scriptaculous.js?load=effects,dragdrop,builder,controls,slider "></script>
<script language="JavaScript" type="text/javascript">
var talktime = 3500;//设置获取内容时间间隔
var talkpath = 'ppjoke/ppjoke.asp';
var talkcolor = 'blue';
var info_shaping ='请勿刷屏';
var info_talkfail ='发送失败';
var barinf_logining ='正在登录';
var barinf_regging = '正在注册';
var barinf_neterro = '数据传输错误';
var barinf_loginready = '登陆成功';
var barinf_loginerro = '密码错误';
var barinf_blank = '请输入聊天内容';
var barinf_logoutok = '注销成功';
var barinf_logouterro = '注销失败';
var barinf_regerro = '用户名已存在';
var barinf_regok = '注册成功,自动登陆';
var barinf_checkuser = '自动登陆中';
var barinf_checkbad = '非法身份,请自行登陆';
var colorArr = ['red','blue','green','darkorange','black','teal','deeppink','blueviolet','springgreen'];
var Anonymous = '匿名';
var count=0;
var lastworld='';
var lastalk='';
var lastWorldTime=false;
var getMsgTime;
var noMemoTimes = 0;
var cookiename;
var cookiepass;
//Event.observe(window, 'load', ppjokeinit, false);
function ppjokeinit(){
talkcolor = colorArr[Math.round(Math.random()*9)];
window.setTimeout(getMsg,talktime);
$('load').style.display='none';
$('ppjoke_main').style.display='block';
Event.observe('ppjoke_sendbox', 'keydown', keyDownAll, false);
Field.select('talk');
new Draggable('ppjoke_main',{handle:'ppjoke_topbar'});
//createFaceList();
//GetCookie();
//logined();
}
var ppjokeWs = {
letBack:function(){
$('ppjoke_main').style.left='';
$('ppjoke_main').style.top='';
$('ppjoke_main').style.zIndex='';
$('ppjoke_main').style.width='150px';
$('ppjoke_msgbox').style.height='200px';
$('ppjoke_Facediv').style.height = '100px';
},
letBig:function(){
$('ppjoke_main').style.width = '580px';
$('ppjoke_msgbox').style.height = '400px';
$('ppjoke_Facediv').style.height = '25px';
},
letFloat:function(){
var panel = $('ppjoke_main');
panel.style.position = "absolute";
var innerW=document.body.clientWidth;
var innerH=document.body.clientHeight;
var offsetX=document.body.scrollLeft;
var offsetY=document.body.scrollTop;
panel.style.pixelTop = innerH +offsetY-280;
panel.style.pixelLeft = innerW + offsetX-150;
//alert( offsetY + ":" + offsetX);
setTimeout( "ppjokeWs.letFloat()" , 10 );
}
}
function keyDownAll(event){
var e = event || window.event;
if(e.keyCode==13){sendMsg()}
}
function logined(){
function loginok(req){
if(req.responseText=="ok"){
$('name').value = cookiename;
$('alogin').style.display='none';
$('ppjoke_alogout').style.display='inline';
$('name').blur();
$('name').disabled = 'true';
Field.select('talk');
}else{
}
}
if(cookiename){
var timestamps = new Date().getTime()+Math.random();
creatInfo(barinf_checkuser);
var sendAjax = new Ajax.Request(talkpath+'?act=login×tamp='+timestamps,{method: 'post',parameters:'regname='+cookiename+"®pass="+cookiepass,onComplete:loginok});
}
}
//获取信息
function getMsg (){
var timestamps = new Date().getTime()+Math.random();
var getAjax = new Ajax.Request(talkpath+'?act=getMsg×tamps='+timestamps,{method: 'get',parameters:'',onSuccess:showMsg});
function showMsg(req){
window.setTimeout(getMsg,talktime);
var newMsg=eval('(' + req.responseText + ')');
function appendtime(){
$('ppjoke_msgbox').appendChild(Builder.node('p', {id:'thelastTime',style:'background-color:#FFCCFF'},'消息发送时间:'+lastWorldTime));
appendtimok=true;
}
if (noMemoTimes == 5 ){appendtime();noMemoTimes=0}
noMemoTimes?noMemoTimes++:noMemoTimes=0;
//处理聊天信息
newMsg.msg.each(function(data){
if(noMemoTimes >= 5){Element.remove('thelastTime');}
noMemoTimes = 1;
count++;
var p = document.createElement('p');
if(count%2==0){
Element.addClassName(p,'p1');
}else{
Element.addClassName(p,'p2');
}
var userspan = document.createElement('span');
var usertext = document.createTextNode(data.u+':');
if(data.v=="True"){
userspan.appendChild(usertext);
}else{
userspan.style.color='#CACACA';
userspan.appendChild(usertext);
}
var msgspan = document.createElement('span');
msg2face(data.m,msgspan);
msgspan.style.color=data.c;
p.appendChild(userspan);
p.appendChild(msgspan);
$('ppjoke_msgbox').appendChild(p);
lastWorldTime=data.t;
}
);
$('ppjoke_msgbox').scrollTop=$('ppjoke_msgbox').scrollHeight;
}
}
//发送聊天信息,处理本地消息
function sendMsg (){
if(!Field.present('talk','name','email')){
creatInfo(barinf_blank);
return;
}
if(lastworld==Form.serialize('talkform')){
sysinf(info_shaping);
}else{
if($('thelastTime')){Element.remove('thelastTime');}
var timestamps = new Date().getTime()+Math.random();
var sendAjax = new Ajax.Request(talkpath+'?act=sendMsg&color='+talkcolor+'×tamp='+timestamps,{method: 'post',parameters:Form.serialize('talkform'),onFailure:ajaxErro});
lastworld=Form.serialize('talkform');
lastalk=$F('talk');
count++;
var p = document.createElement('p');
if(count%2==0){
Element.addClassName(p,'p1');
}else{
Element.addClassName(p,'p2');
}
var userspan = document.createElement('span');
var usertext = document.createTextNode($F('name')+':');
if($('name').disabled == true){
userspan.appendChild(usertext);
}else{
userspan.style.color='#CACACA';
userspan.appendChild(usertext);
}
var msgspan = document.createElement('span');
msg2face($F('talk'),msgspan);
msgspan.style.color=talkcolor;
p.appendChild(userspan);
p.appendChild(msgspan);
$('ppjoke_msgbox').appendChild(p);
}
Field.clear('talk');
Field.select('talk');
$('ppjoke_msgbox').scrollTop=$('ppjoke_msgbox').scrollHeight;
function ajaxErro(){
sysinf(info_talkfail);
}
}
//发送登陆信息
function sendLogin (){
var timestamps = new Date().getTime()+Math.random();
creatInfo(barinf_logining);
var sendAjax = new Ajax.Request(talkpath+'?act=login×tamp='+timestamps,{method: 'post',parameters:Form.serialize('logform'),onComplete:sendLoginOk});
function sendLoginOk(req){
if(req.responseText=="ok"){
creatInfo(barinf_loginready);
$('alogin').style.display='none';
$('ppjoke_alogout').style.display='inline';
$('name').value=$F('regname');
$('name').blur();
$('name').disabled = 'true';
Effect.SlideUp('ppjoke_logdiv',{duration:1.0});
Field.select('talk');
CreactCoo
没有合适的资源?快使用搜索试试~ 我知道了~
ajax+asp在线聊天.rar
共40个文件
gif:25个
js:8个
html:2个
5星 · 超过95%的资源 需积分: 3 140 下载量 101 浏览量
2007-04-17
18:47:02
上传
评论
收藏 129KB RAR 举报
温馨提示
收集的一个ajax+asp制作的在线聊天工具,学习ajax的一份好资料。
资源推荐
资源详情
资源评论
收起资源包目录
ajax+asp在线聊天.rar (40个子文件)
default.html 15KB
index.htm 15KB
ppjoke
images
ajaxing.gif 310B
smilies
Face_15.gif 271B
Face_07.gif 3KB
Face_03.gif 2KB
Face_19.gif 2KB
Face_11.gif 1KB
Face_04.gif 3KB
Face_17.gif 2KB
Face_01.gif 4KB
Face_08.gif 1KB
Face_02.gif 2KB
Face_06.gif 1KB
Face_13.gif 2KB
Face_24.gif 2KB
Face_18.gif 2KB
Face_14.gif 2KB
Face_21.gif 2KB
Face_23.gif 1KB
Face_22.gif 1KB
Face_20.gif 1KB
Face_16.gif 2KB
Face_10.gif 1KB
Face_05.gif 1KB
Face_12.gif 4KB
Face_09.gif 1KB
src
builder.js 3KB
effects.js 32KB
slider.js 11KB
dragdrop.js 30KB
unittest.js 13KB
controls.js 27KB
scriptaculous.js 2KB
database.asp 10KB
ppjoke.asp 2KB
ppjoke.mdb 468KB
lib
prototype.js 56KB
ppjoke.css 2KB
i.html 14KB
共 40 条
- 1
资源评论
- 创造者2014-12-11在线聊天工具值得学习
jing_cao16
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功