Foros del Web » Creando para Internet » CSS »

como mostrar el texto de abjo de un div

Estas en el tema de como mostrar el texto de abjo de un div en el foro de CSS en Foros del Web. Buenas, estoy haciendo un chat y puse todo lo que escriben los usuarios dentro de un div con estos estilos: #vercont {width:90%;height:250px;border:#696969 1px solid;overflow:scroll;padding:5px;} pero ...
  #1 (permalink)  
Antiguo 15/12/2011, 14:08
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Pregunta como mostrar el texto de abjo de un div

Buenas, estoy haciendo un chat y puse todo lo que escriben los usuarios dentro de un div con estos estilos:
#vercont {width:90%;height:250px;border:#696969 1px solid;overflow:scroll;padding:5px;}

pero cuando se llena de contenido, lo ultimo que se escribio se va para abajo y queda oculto, como hago para que se vea lo de abajo y se oculte lo de arriba (lo mas viejo) espero que puedan ayudarme, gracias.
  #2 (permalink)  
Antiguo 15/12/2011, 15:55
Colaborador
 
Fecha de Ingreso: junio-2007
Mensajes: 5.798
Antigüedad: 16 años, 10 meses
Puntos: 539
Respuesta: como mostrar el texto de abjo de un div

Es el comportamiento lógico. El navegador va colocando el contenido según lo encuentra en el html.

Así que creo que no es una cuestión de css. Más bien de programación del chat, invertir el cómo y dónde aparece el nuevo contenido.
Y esa suele ser la operativa usual (de los pocos chat integrados que conozco) que recuerdo haber visto.

Aunque siempre puede crear una caja con el scroll (y tamaño definido) y la que tiene el contenido posicionarla de forma absoluta dentro de ella en la posición que desee.

Última edición por kseso?; 15/12/2011 a las 16:04
  #3 (permalink)  
Antiguo 15/12/2011, 16:10
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: como mostrar el texto de abjo de un div

Claro, yo puedo hacer que lo nuevo salga arriba, modificando el orden en el select, pero lo normal en los chats es que lo ultimo se vea abajo, por eso quiero hacerlo asi, y como el div en donde esta el contenido le di el estilo overflow:scroll para que no se desarme el div y se muestren las barras de desplazamiento, me preguntaba si se puede agregar algo mas para se muestre la barra de desplazamiento abajo del todo.
  #4 (permalink)  
Antiguo 15/12/2011, 17:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: como mostrar el texto de abjo de un div

se me ocurre hacerlo con javascript. el método scrollIntoView() te permite desplazarte a cualquier elemento que tenga id. de tal modo que a cada nueva entrada tendrás que asignarle una id, algo como
Cita:
<span id="entrada'+numerodeintrada+'">'+ valor_entrada +'</span><br />'
. donde "numerodeintrada" es un autoincrementable. todo esto se realiza aplicando lo mencionado en post que abristes en el foro de javascript
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 16/12/2011, 00:36
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Pregunta Respuesta: como mostrar el texto de abjo de un div

Genial, se me ocurrio poner esto al final de todos los registros: <p id="aaa"></p>
entonces cuando hago click en el boton va directamente hacia abajo, funciona bien, pero estoy probando para que vaya automaticamente cuando el usuario ingrese el nuevo registro, que dicho sea de paso, logre lo del post anterior, eso de ingresar el registro haciendo enter, por eso creo que podria poner algo de esto en aquello para que haga lo que quiero lograr:

Esto es lo de este post:
Código PHP:
Ver original
  1. <script>
  2. //ini para mostrar el contenido desde abajo
  3.  function showIt(elID)
  4.     {
  5.       var el = document.getElementById(elID);
  6.       el.scrollIntoView(true);
  7.     }
  8. </script>
  9.  
  10. <body>
  11.  
  12. registro uno
  13. registro dos
  14. registro tres
  15. mas registros
  16. <p id="aaa"></p>
  17.  
  18. <input type="button" value="Ver Ultimo Registro"
  19.    onclick="showIt('aaa');">
  20. </body>

Y esto es lo del post anterior:
Código PHP:
Ver original
  1. function tecla(event){
  2. //VALIDO LA TECLA PRESIONADA
  3. if(event.keyCode == 13){
  4. }
  5. }
  6. //y en el form
  7. <input name="cont" rows="5" cols="70" id="mensaje" onkeydown="javascript:tecla(event);">

Las dos cosas funcionan bien, pero habria alguna forma de hacer que al presionar enter me muestre la parte de abajo de los registros?

ejemplo explicativo y con pocas chances de funcionar:

function tecla(event){
//VALIDO LA TECLA PRESIONADA
if(event.keyCode == 13){
onclick="showIt('aaa');"//como seria la sintaxis?
}
}
Gracias por tus aportes...
  #6 (permalink)  
Antiguo 16/12/2011, 08:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: como mostrar el texto de abjo de un div

a ver ... algo rápido
Cita:
<!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" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="application/xhtml; charset=utf-8" />
<title></title>
<script type="text/javascript">
function fnc(c_entrada, val_entrada, bloque_conversacion, evt){

if (evt == undefined) {
document.getElementById(bloque_conversacion).inner HTML += val_entrada +'<br />';
document.getElementById('scr').scrollIntoView(true );
document.getElementById(c_entrada).value = '';

} else {

tecla=(evt) ? evt.keyCode : evt.charCode;
if(tecla==13) {
document.getElementById(bloque_conversacion).inner HTML += val_entrada +'<br />';
document.getElementById('scr').scrollIntoView(true );
document.getElementById(c_entrada).value = '';
}
}
}



function scroll() {
document.getElementById('nueva_entrada').addEventL istener('keyup', function(event) {
fnc(this.id, this.value, 'dialogo', event);
},
false);

document.getElementById('insertar').addEventListen er('click', function() {
fnc('nueva_entrada', document.getElementById('nueva_entrada').value, 'dialogo');
},
false);

}

window.onload = scroll;
</script>
</head>
<body>

<div id="scroll" style="height: 5em; width: 30em; overflow: scroll;border: 1px solid blue;">
<div id="dialogo" style="overflow: none;">

</div>
<span id="scr"></span>
</div>

<form>
<textarea id="nueva_entrada" rows="5" cols="20"></textarea>

<input type="button" value="Insertar" id="insertar" >
</form>

</body>
</html>
si tienes alguna otra duda, posteala en el foro de javascript dejando una referencia a este tema
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 19/12/2011, 23:11
Avatar de waldragon  
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 13 años, 10 meses
Puntos: 55
Respuesta: como mostrar el texto de abjo de un div

Ok, abro otro tema en javascript, para que me ayuden a desplazar la barra del scroll hacia abajo, gracias...

Esta es la direccion del nuevo tema:

http://www.forosdelweb.com/f13/envia...-abajo-965325/

Última edición por waldragon; 19/12/2011 a las 23:27

Etiquetas: contenido
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.