Foros del Web » Programando para Internet » Javascript »

Callback append

Estas en el tema de Callback append en el foro de Javascript en Foros del Web. Hola, esto hacuendo un chat en el cual cuando alguien se conecta lo agrego a la lista de conectados de la siguiente forma: Código HTML: ...
  #1 (permalink)  
Antiguo 13/12/2013, 11:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 2 meses
Puntos: 1
Callback append

Hola, esto hacuendo un chat en el cual cuando alguien se conecta lo agrego a la lista de conectados de la siguiente forma:

Código HTML:
$('.users').append($('<p class="itemList">').text(mensaje[0]));
el tema es que quiero ordenarlos alfabeticamente, para ello tengo una funcion, pero nose como ponerla para que se ejecute luego de que haya hecho el append tipo callback. Agradesco sus ayudas!!
  #2 (permalink)  
Antiguo 13/12/2013, 11:16
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Callback append

Separa la lógica de tu programa de la lógica de la vista. Tú tienes que tener un array de usuarios conectados. Cuando se conecte uno, añades un usuario a ese array. Cuando se desconecte, lo borras de ese array.

Por otro lado, deberías tener una función que sepa crear nodos HTML e insertarlos en el DOM leyendo ese array de usuarios. Y nada más.

¿Cómo pintar los usuarios de forma ordenada? Muy fácil, cuando insertes un usuario en el array, ordénalo. Todo eso es lo que debe hacer la función nuevoUsuario.
La función que pinta el array en el HTML ni siquiera tienes que tocarla.

Y si quieres hacerlo todo complicado, embróllalo todo con mezclas de HTML y javascript por todas partes, para insertar, para eliminar, para enviar mensajes... Y cuando quieras cambiar el aspecto del chat, coges una escopeta y te haces un corte de pelo a lo kurt cobain.

Etiquetas: append, callback, funcion
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 11:25.