Ver Mensaje Individual
  #18 (permalink)  
Antiguo 16/04/2009, 18:51
Zack78
(Desactivado)
 
Fecha de Ingreso: enero-2008
Mensajes: 272
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Controlar scroll en div

Cita:
Iniciado por buzu Ver Mensaje
Por que no nos dejas hecharle un vistazo al chat? Por lo menos la función que manda el mensaje al div y la parte del div de HTML. No es nada difícil lo que quieres hacer, pero si no vemos el code estamos guiándote a ciegas.
Gracias nuevamente,

código javascript:

function objetoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}

if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function enviarMensaje()
{
var usu=document.getElementById('idusuario');
var usu=usu.value;
var men=document.getElementById('texto');
var men=men.value;

ajax=objetoAjax();
ajax.open("POST", "chat.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
consultaMensajes();
LimpiarCampoTexto();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("usuario="+usu+"&mensaje="+men)
}



function consultaMensajes()
{

divContenido = document.getElementById('chatList');
var usu=document.getElementById('idusuario');
var nusuario=document.getElementById('nusuario');
var usu=usu.value;
var nusuario=nusuario.value;

var ajax=objetoAjax();

ajax.open("POST", "consulta.php", true);

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("usuario="+usu+"&nusuario="+nusuario);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
divContenido.innerHTML=ajax.responseText;
}
}
//cada 3 segundos consulta por nuevos mensajes
setTimeout('consultaMensajes();',2000);
}
//Actualiza el la conversación
window.onload = function (){
consultaMensajes();
}

//Al pulsar tecla ENTER envia el mensaje
function pulsar(e)
{
var evento=e.keyCode;
if(evento==13)
{
this.enviarMensaje();
return true;
}
}

function LimpiarCampoTexto()
{
var men=document.getElementById('texto');
var men=men.value="";
document.form1.texto.focus(); return;
}


//Control de scroll
onload=function()
{
setInterval(function(){document.getElementById('ch atList').scrollTop=document.getElementById('chatLi st').scrollHeight},30);
}

Código html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
<form action="javascritp:;" method="post" name="form1" id="form1">

<div id="chatList" style="overflow:auto; width:279px; height:354px; padding-left:3px; padding-right:3px;"></div>
<div>
<textarea name="texto" id="texto" rows="1" cols="50" style="width:409px; height:42px;" onKeyPress="pulsar(event);"></textarea>
</div>
</form>
</body>
</html>