帮帮忙吧各位高手,来看看什么问题
聊天室分屏
已经实现分屏功能,但内容显示不到分屏的那个上面
分屏采用的是div层用两个div层,点击选中分屏,则第二个div层显示出来
这个做到了,关键是现在分屏的那个层不能显示内容阿,每次自己发内容只在上面显示,下面的不显示。而如果用另外的客户端发来,则自己的客户端另外一个div层就会把原来没有显示的一起显示上去,而且对方发来的消息还重复一遍,如果对方再发来消息,还会把上面重复的覆盖,然后继续这一句话重复一遍
代码如下
//发送消息
function send()
{
var txtContent = document.all( "content ").value; //文本框输入内容
if (txtContent == " ") return;
var user_to = document.all( "userlist ").value; //聊天对象
var textcolor = document.all( "textcolor ").value; //颜色
var expression = document.all( "expression ").value; //表情
var isPublic = !(document.all( "isSecret ").checked); //是否密谈
//调用服务器端方法发送消息
Chat.ChatRoom.SendMsg(txtContent, user_to, textcolor, expression, isPublic);
//更新聊天内容显示
var div = document.all( "chatcontent ");
var isLeft = !(document.all( "isLeft ").checked);
div.innerHTML = div.innerHTML+Chat.ChatRoom.GetNewMsgString().value;
if(!isLeft)//如果分屏被选中
{
var div1 =document.all( "chat1 ");
div1.innerHTML=div1.innerHTML+Chat.ChatRoom.GetNewMsgString().value;
}
//清空输入框
document.all( "content ").value = " ";
}
//定时更新聊天内容
function refresh_chatcontent()
{
//调用服务器方法获取最新消息的HTML字符串
var div = document.all( "chatcontent ");
var strNewMsg =Chat.ChatRoom.GetNewMsgString().value;
var isLeft = !(document.all( "isLeft ").checked);
//判断是否为空,避免不必要的更新
if (strNewMsg != " ")
{
div.innerHTML =div.innerHTML+strNewMsg;
if(!isLeft)
{
var div1 =document.all( "chat1 ");
div1.innerHTML=div.innerHTML+strNewMsg;
}
}
//定时更新
window.setTimeout(refresh_chatcontent, 1000);
}
//是否分屏
function isCleft()
{
var isLeft = !(document.all( "isLeft ").checked); //是否分屏
var div = document.all( "chatcontent ");
var div1 =document.all( "chat1 ");
if(!isLeft)
{
div.style.height= "60% ";
div1.style.display= "block ";
div1.style.height= "40% "
}
else
{
div.style.height= "100% ";
div1.style.display= "none ";
}
}
用ajax做的每次都要靠对方发来消息分屏才会把没有显示的显示出来,自己发分屏不显示。而且发来的消息还重复,并且重复的那个会被后来发来的消息替代
[解决办法]
不懂 帮顶
[解决办法]
只能帮你顶了!!!我真不明白!
[解决办法]
友情帮顶
[解决办法]
顶!!友情帮顶,等候高手降临。。。。。
[解决办法]
友情帮顶