Cita:
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 elsetInterval(traerMensajes(),2000)
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
$(document).ready(function(){ var contenido; function traerMensajes() { var mensaje = ''; $.post('controller/chat.controller.php',{action: 'traerMensajes'},function(data){ //Limpiamos previamente $(".mensajes").html(''); $(".mensajes").html(data); }) scrollDown(); } function scrollDown() { $("#txtMensaje").animate({ scrollTop: $("#chatbox").attr("scrollHeight") - 20 }, 'normal'); } //Validar escritura $("#txtMensaje").live('keydown',function(){ if($(this).val().length >= 200) $(this).val(contenido); else contenido = $(this).val(); }) //Enviar mensaje $("#btnEnviar").live('click',function(){ if($("#txtMensaje").val().length <= 10) { alert("El mensaje es demasiado es corto para ser enviado, intentelo de nuevo"); $("#txtMensaje").focus(); } else { escribirMensaje(); esconderBoton(false); ajaxLoader(true); } }) function esconderBoton(x) { switch (x) { case true: $("#btnEnviar").show(); break; case false: $("#btnEnviar").hide(); break; } } function ajaxLoader(x) { switch (x) { case true: $("#ajaxLoader_chat").show(); break; case false: $("#ajaxLoader_chat").hide(); break; } } function escribirMensaje() { $.post('controller/chat.controller.php',{action: 'escribirMensaje',txtMensaje: $('#txtMensaje').val()},function(){ $("#txtMensaje").val(''); traerMensajes(); ajaxLoader(false); }) setTimeout(esconderBoton(true), 2000); } setInterval(traerMensajes(),2000);