Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/11/2010, 07:37
Avatar de HiToGoRoShi
HiToGoRoShi
 
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 8 meses
Puntos: 31
Tiempo de intervalo, y scroll hacia abajo

Este es todo mi script para mi CHAT, cuando hago un
Cita:
setInterval(traerMensajes(),2000)
Este no es llamado cada 2 segundos.... y nose porque, pero al presionar el boton y llamo a esa funcion este si es llamado, ah tambien me pasalo mismo con el
setTimeOut, este no se ejecuta pasado x Segundos, sino lo hace al instante...

Ok y mi otra duda es, como haria yo para mostrar el scroll de un div hacia abajo siempre... ?

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.    
  3.     var contenido;
  4.    
  5.     function traerMensajes()
  6.     {
  7.         var mensaje = '';
  8.        
  9.         $.post('controller/chat.controller.php',{action: 'traerMensajes'},function(data){
  10.            
  11.             //Limpiamos previamente
  12.             $(".mensajes").html('');
  13.             $(".mensajes").html(data);
  14.         })
  15.        
  16.         scrollDown();
  17.     }
  18.    
  19.     function scrollDown() {
  20.         $("#txtMensaje").animate({ scrollTop: $("#chatbox").attr("scrollHeight") - 20 }, 'normal');
  21.     }
  22.    
  23.     //Validar escritura
  24.     $("#txtMensaje").live('keydown',function(){
  25.  
  26.         if($(this).val().length >= 200)
  27.             $(this).val(contenido);
  28.         else
  29.             contenido = $(this).val();
  30.     })
  31.  
  32.     //Enviar mensaje
  33.     $("#btnEnviar").live('click',function(){
  34.        
  35.         if($("#txtMensaje").val().length <= 10)
  36.         {
  37.             alert("El mensaje es demasiado es corto para ser enviado, intentelo de nuevo");
  38.             $("#txtMensaje").focus();
  39.         }          
  40.         else
  41.         {
  42.             escribirMensaje();
  43.             esconderBoton(false);
  44.             ajaxLoader(true);
  45.         }
  46.     })
  47.    
  48.     function esconderBoton(x)
  49.     {
  50.         switch (x)
  51.         {
  52.             case true:
  53.                 $("#btnEnviar").show();
  54.                 break;
  55.            
  56.             case false:
  57.                 $("#btnEnviar").hide();
  58.                 break; 
  59.         }
  60.     }
  61.    
  62.     function ajaxLoader(x)
  63.     {
  64.         switch (x)
  65.         {
  66.             case true:
  67.                 $("#ajaxLoader_chat").show();
  68.                 break;
  69.            
  70.             case false:
  71.                 $("#ajaxLoader_chat").hide();
  72.                 break; 
  73.         }
  74.     }
  75.    
  76.     function escribirMensaje()
  77.     {
  78.         $.post('controller/chat.controller.php',{action: 'escribirMensaje',txtMensaje: $('#txtMensaje').val()},function(){
  79.             $("#txtMensaje").val('');
  80.             traerMensajes();
  81.             ajaxLoader(false);
  82.         })
  83.        
  84.         setTimeout(esconderBoton(true), 2000);
  85.     }
  86.    
  87.     setInterval(traerMensajes(),2000);