Foros del Web » Programando para Internet » Jquery »

Función para mostrar alertas / notificaciones con JQUERY

Estas en el tema de Función para mostrar alertas / notificaciones con JQUERY en el foro de Jquery en Foros del Web. Buenas, Estoy intentando mostrar alertas personalizadas según se pulse un botón y no consigo que funcione, podríais echarme una mano? El código es el siguiente, ...
  #1 (permalink)  
Antiguo 01/05/2010, 05:31
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Función para mostrar alertas / notificaciones con JQUERY

Buenas,

Estoy intentando mostrar alertas personalizadas según se pulse un botón y no consigo que funcione, podríais echarme una mano?

El código es el siguiente, lo ideal sería poder crear una función en la que yo le diria pasar el mensaje que quisiera así como el estilo del mensaje, Ej.

function notificacion (msg, estilo){} y que al pulsar sobre cada botón cogiese el mensaje correcto que tiene que mostrar. Se puede hacer?

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  4. <title>Mostrar notificacion al pulsar botón</title>
  5. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  6. <script type="text/javascript" >
  7. $(document).ready(function(){
  8.     $("button").click(function () {
  9.         $change="<div class='notificacion'> Has recibido nuevo mensaje!</div>";
  10.         setTimeout(function(){
  11.             $(".notificacion").fadeOut("slow", function () {
  12.             $(".notificacion").remove();
  13.         });
  14.         }, 4000);
  15.  
  16.     });
  17. });
  18. <style type="text/css">
  19. html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, center, u, b, i {
  20.     margin: 0;padding: 0;border: 0;outline: 0;font-weight: normal;font-style: normal;font-size: 100%;font-family: inherit;vertical-align: baseline
  21. }
  22. body {color: #000000;background-color:#fff;font-family:Verdana, Arial, Helvetica, sans-serif;}
  23. .cabecera{height:200px;width:100%;background:yellow;}
  24. .notificacion{
  25.     width:100%;
  26.     margin:0px;
  27.     padding-top:5px;
  28.     padding-bottom:5px;
  29.     background-color: #50EF3E;
  30.     color:white;
  31.     font-weight:bold;
  32.     font-size:14px;
  33.     text-align:center;
  34.     top:0px;
  35.     position:fixed;
  36. }
  37.  
  38. <?php echo $change; ?>
  39. <div class="cabecera">
  40.     <p> esta es la cabecera </p>
  41. </div>
  42. <button>Recibir mensaje</button>
  43. <button>Enviar mensaje</button>
  44. <button>Eliminar mensaje</button>
  45.  
  46. <div id="container" >
  47.     <p>MOSTRANDO NOTIFICACIONES....</p>
  48. </div>
  49. <br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><p>test</p>
  50. </body>
  51. </html>

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 01/05/2010, 08:49
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

En document.ready tenes una variable $change no declarada. Que por otro lado no se entiende si es de php o de jquery.

Probaste un prefabricado?:
http://www.anieto2k.com/2008/12/31/j...mpt-y-confirm/
http://abeautifulsite.net/2008/12/jquery-alert-dialogs/

Hay varios. A mi me gusta en particular el jGrowl.
  #3 (permalink)  
Antiguo 01/05/2010, 10:21
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
En document.ready tenes una variable $change no declarada. Que por otro lado no se entiende si es de php o de jquery.

Probaste un prefabricado?:
http://www.anieto2k.com/2008/12/31/j...mpt-y-confirm/
http://abeautifulsite.net/2008/12/jquery-alert-dialogs/

Hay varios. A mi me gusta en particular el jGrowl.
Estoy siguiendo tu consejo y estoy utilizando el plugin de jquery.jgrowl

Tengo un par de dudas:
No consigo alinear cada mensaje de una manera diferente. Con el theme consigo cambiarle los colores al mensaje y diferenciarlos, eso correcto. Pero lo que quiero es por ejemplo uno aparezca centrado y el otro a la derecha de la pantalla.

He probado con position pero no me hace nada, la única forma que he logrado que funcione es poniendo $.jGrowl.defaults.position = 'center'; al comienzo, pero me lo aplica a todos los mensajes...

También me gustaría saber si se puede quitar el "close all" que aparece cuando muestras varios mensajes a la vez.


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>Mensaje superior</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  6. <script type="text/javascript" src="jquery.jgrowl_minimized.js"></script>
  7. <link rel="stylesheet" href="jquery.jgrowl.css" type="text/css" />
  8.  
  9. <script type="text/javascript">
  10.  
  11. $(document).ready(function() {
  12.     //$.jGrowl.defaults.position = 'center';
  13.     $.jGrowl("Has recibido un nuevo mensaje de Darucilla!", {position:'center',theme:'verde'});
  14.     $.jGrowl("Mensaje eliminado!", {position:'bottom-left',theme:'rojo'});
  15. });;
  16.  
  17. <style type="text/css">
  18. div.jGrowl div.verde {
  19.     background-color:       #77EF6A;
  20.     color:                  #000;
  21. }
  22. div.jGrowl div.rojo {
  23.     background-color:       #EF6A77;
  24.     color:                  #000;
  25. }
  26.  
  27. body > div.jGrowl.center {
  28.     top:                0px;
  29.     left:               10%;
  30. }
  31. </head>
  32.  
  33. </body>
  34. </html>

Muchas gracias de antemano!
  #4 (permalink)  
Antiguo 01/05/2010, 11:19
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Podes usar la propiedad position para ubicar cada mensaje en lugares diferentes. Lee la API!


Cita:
$.jGrowl("Stick this!", {
sticky: true,
position: top-right });
Todo lo que vaya entre llaves en una opcion de lanzamiento.

Para evitar el close all usa:

closer: false
  #5 (permalink)  
Antiguo 01/05/2010, 13:46
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
Podes usar la propiedad position para ubicar cada mensaje en lugares diferentes. Lee la API!




Todo lo que vaya entre llaves en una opcion de lanzamiento.

Para evitar el close all usa:

closer: false
Hola mayid,

Para que el mensaje se aguante fijo sin que desaparezca con el sticky lo consigo.

Sin embargo, hay dos propiedades que no consigo que funcionen si las especifico dentro de las propiedades del mensaje

Son el closer y el position


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>Mensaje superior</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  6. <script type="text/javascript" src="jquery.jgrowl_minimized.js"></script>
  7. <link rel="stylesheet" href="jquery.jgrowl.css" type="text/css" />
  8.  
  9. <script type="text/javascript">
  10.  
  11. $(document).ready(function() {
  12.     //$.jGrowl.defaults.position = 'center';
  13.     //$.jGrowl.defaults.closer=false;
  14.     $.jGrowl("Stick this!", {closer: false, sticky: true, theme:'rojo', position: 'bottom-left' });
  15.     $.jGrowl("wwwww!", {closer: false, sticky: true, theme:'verde', position: 'top-right' });
  16. });
  17.  
  18. <style type="text/css">
  19. div.jGrowl div.verde {
  20.     background-color: #77EF6A;
  21.     color: #000;
  22.     width:  100px;
  23.     height:20px;
  24. }
  25. div.jGrowl div.rojo {
  26.     background-color: #EF6A77;
  27.     color: #000;
  28.     width:  300px;
  29.     height:20px;
  30. }
  31.  
  32. body > div.jGrowl.center {
  33.     top:                0px;
  34.     left:               10%;
  35. }
  36.  
  37. body > div.jGrowl.bottom-left {
  38.     left:               0px;
  39.     bottom:             0px;
  40. }
  41.  
  42. body > div.jGrowl.top-right {
  43.     right:              0px;
  44.     top:                0px;
  45. }
  46.  
  47. </head>
  48.  
  49. </body>
  50. </html>


Para que funcione el closer y el position tengo que ponerlo fuera del mensaje, extraño no?

Y claro si los pongo fuera afecta a todos los mensajes que aparezcan (y no es lo adecuado). ¿Puedes echarme una mano?

$(document).ready(function() {
$.jGrowl.defaults.position = 'center';
$.jGrowl.defaults.closer=false;

$.jGrowl("Stick this!", {sticky: true, theme:'rojo', position: 'bottom-left' });
$.jGrowl("wwwww!", {sticky: true, theme:'verde', position: 'top-right' });
});

Muchas gracias de antemano!
  #6 (permalink)  
Antiguo 01/05/2010, 14:07
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Lo conseguí asignándole una id para cada mensaje

Código completo

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>Mensaje superior</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
  6. <script type="text/javascript" src="jquery.jgrowl_minimized.js"></script>
  7. <link rel="stylesheet" href="jquery.jgrowl.css" type="text/css" />
  8.  
  9. <script type="text/javascript">
  10.  
  11. $(document).ready(function() {
  12.     $('#notificacion').jGrowl("Has recibido un mensaje nuevo de Darucilla!", {
  13.     sticky: false,
  14.     theme: 'verde',
  15.     closer: false
  16.     });
  17.     $('#notificacion2').jGrowl("Has recibido un mensaje nuevo de Darucilla!", {
  18.     sticky: true,
  19.     theme: 'rojo',
  20.     closer: false
  21.     });
  22.  
  23. });
  24.  
  25. <style type="text/css">
  26. div.jGrowl div.verde {
  27.     background-color: #77EF6A;
  28.     color: #000;
  29.     width:  800px;
  30.     height:20px;
  31. }
  32. div.jGrowl div.rojo {
  33.     background-color: #EF6A77;
  34.     color: #000;
  35.     width:  300px;
  36.     height:20px;
  37. }
  38.  
  39. body > div.jGrowl.top-center {
  40.     top:                0px;
  41.     left:               10%;
  42. }
  43.  
  44. body > div.jGrowl.bottom-left {
  45.     left:               0px;
  46.     bottom:             0px;
  47. }
  48.  
  49. body > div.jGrowl.top-right {
  50.     right:              0px;
  51.     top:                0px;
  52. }
  53.  
  54. </head>
  55. <p>aaaaaaaaaaaaaaaaaaa</p><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  56. <p>bbbbbbbbbbbbbbbbbbbb</p><br/><br/><br/><br/><br/><br/><br/><br/><br/>
  57. <div id="notificacion" class="top-center"></div>
  58. <div id="notificacion2"></div>
  59. </body>
  60. </html>

Lo guay ahora sería que el mensaje lo cogiese dinámicamente, es decir, que continuamente (ej. cada 5 min.) estuviese preguntando a una página si hay nuevas notificaciones y si hubiese alguna la mostrase, esto se puede hacer? es algo común para saber si te llega algun mensaje de un usuario mientras estas visitando la página web no?

Muchas gracias!
  #7 (permalink)  
Antiguo 01/05/2010, 15:44
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Poco mas queres hacer un chat, no? Jaja!

Cita:
Lo conseguí asignándole una id para cada mensaje
ASi es como lo uso yo tambien. Y a cada nuevo mensaje le doy las especificaciones que necesite.
  #8 (permalink)  
Antiguo 01/05/2010, 16:56
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
Poco mas queres hacer un chat, no? Jaja!
Jejeje no es mi intención, sino mostrar un aviso en la parte superior de la web con distintas notificaciones, desde mensajes del administrador, alguna noticia, etc...

Te pongo un ejemplo, dime si lo consideras suficientemente real para llevarlo a cabo o se me va la pinza :D

Estas visitando la web en la que tienes un apartado de la web que te dice 0 mensajes. De repente otro usuario contacta contigo rellena un formulario y te envia un mensaje. Tu que estas navegando por la vez, te debería llegar un mensaje (aqui es donde entra el jGrowl y te dice que "Has recibido un nuevo mensaje del usuario XXX" en ese instante el apartado que te decía que tenías 0 mensajes cambia a 1.

¿Cómo se implementaría tal función?

Muchas gracias de antemano compis
  #9 (permalink)  
Antiguo 01/05/2010, 19:19
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Necesitas setInteval()

No creo que eso se justifique a menos que la web sea mutitudinaria y la gente muy social.

Pienso que es más facil ir pagina por pagina, y que al recargar, naturalmente, se comprube si hay mensajes nuevos. Y ahi aparezca jgrowl si te parece.
  #10 (permalink)  
Antiguo 02/05/2010, 02:53
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
Necesitas setInteval()

No creo que eso se justifique a menos que la web sea mutitudinaria y la gente muy social.

Pienso que es más facil ir pagina por pagina, y que al recargar, naturalmente, se comprube si hay mensajes nuevos. Y ahi aparezca jgrowl si te parece.
Esa era el plan B, mejor así no? consumes menos recursos :)

Me aparece la duda de como hacer dos funciones, por ejemplo. Tienes dos tipos de mensajes uno con fondo verde y otro fondo rojo.

Cómo haces para meterlos en una sola función tipo

mostrar_notificacion(id,msg,theme) {}

Ej.
id = #notificacion
msg = "Tienes un mensaje nuevo"
theme = verde

De forma que le pases el mensaje y el theme que quieres utilizar si rojo o verde? y esas variables id, msg y theme son realmente variables que le llegan de php.

Alguna idea para tirar hacia delante?


Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     $('#notificacion').jGrowl("Has recibido un mensaje nuevo de Darucilla!", {
  3.     sticky: true,
  4.     theme: 'verde',
  5.     closer: false
  6.     });
  7.     $('#notificacion2').jGrowl("Mensaje al final de la página", {
  8.     sticky: true,
  9.     theme: 'rojo',
  10.     //position: 'bottom-left',
  11.     closer: false
  12.     });
  13. });

Muchas gracias de antemano!
  #11 (permalink)  
Antiguo 02/05/2010, 10:27
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Si queres traer variables desde PHP, tenes que usar jSon.

http://api.jquery.com/jQuery.getJSON/

De otra manera, lo que recibirías sería texto plano.
  #12 (permalink)  
Antiguo 02/05/2010, 14:17
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
Si queres traer variables desde PHP, tenes que usar jSon.

http://api.jquery.com/jQuery.getJSON/

De otra manera, lo que recibirías sería texto plano.
Puedes decirme si esta es la forma correcta?

La página que estoy viendo hace una consulta en ajax hacia el script "json.php" el cual se encarga de proporcionar todas las respuestas json de la web, en función del parámetro que se le pase.

En este caso le paso el parámetro notificación

json.php

Código PHP:
Ver original
  1. <?
  2. /* FICHERO DONDE SE CREAN TODAS LAS RESPUESTAS JSON DE LAS DIFERENTES APLICACIONES */
  3.  
  4. // Notificaciones / mensajes de alerta
  5. if (isset($_GET['notificacion'])){
  6.    
  7.     // Aqui va el codigo que comprueba en la base de datos si hay nuevos mensajes para el usuario
  8.     // Si hay nuevos mensajes devuelve un JSON con la notificación
  9.    
  10.     $resultado= '{
  11.     "elemento": "#notificacion",
  12.     "msg": "Has recibido un mensaje nuevo de Darucilla!",
  13.     "theme": "verde",
  14.     "sticky": "true",
  15.     "closer": "false"
  16.     }';
  17.     echo $resultado;
  18. }
  19. ?>

¿Me podéis decir cómo hago para los valores de las lineas que he comentado las coja directamente de la respuesta json? no acabo de ver la manera de conseguir el resultado:

$('#notificacion').jGrowl("Has recibido un mensaje nuevo de Darucilla!", {
sticky: true,
theme: 'verde',
closer: false


pagina.php

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     $.ajax({
  3.         dataType: 'json',
  4.         success: function(data) {
  5.                 /*  $('#notificacion').jGrowl("Has recibido un mensaje nuevo de Darucilla!", {
  6.                     sticky: true,
  7.                     theme: 'verde',
  8.                     closer: false
  9.                 */
  10.                 },
  11.         url: 'json.php?notificacion'
  12.     });
  13. });

Muchas gracias de antemano!
  #13 (permalink)  
Antiguo 02/05/2010, 14:23
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

A simple vista, sin ahondas (porque estoy muy cansado) veo que estas pasando una variables GET vacia aquí:

json.php?notificacion
  #14 (permalink)  
Antiguo 02/05/2010, 15:20
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
A simple vista, sin ahondas (porque estoy muy cansado) veo que estas pasando una variables GET vacia aquí:

json.php?notificacion
Sí, pero no debería ser problema ya que en la parte php compruebo si existe o no, da igual que tenga un valor o no... para este ejemplo es lo mismo

Código PHP:
Ver original
  1. if (isset($_GET['notificacion'])){
  #15 (permalink)  
Antiguo 03/05/2010, 08:36
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

jSon es un conjunto de variables, que en javascript pueden accederse así:

success: function(data) {

alert (data.elemento);

}

Hace un tiempo no las uso. Pero hay comentarios en el foro sobre como recibirlas. Sino, proba data[elemento]
  #16 (permalink)  
Antiguo 03/05/2010, 11:09
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Iniciado por mayid Ver Mensaje
jSon es un conjunto de variables, que en javascript pueden accederse así:

success: function(data) {

alert (data.elemento);

}

Hace un tiempo no las uso. Pero hay comentarios en el foro sobre como recibirlas. Sino, proba data[elemento]
Conseguido! mil gracias mayid nuevamente por tus comentarios y tiempo

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.  
  3. // Funcion mostra notificaciones
  4. function MostrarNotificaciones(){
  5.     $.ajax({
  6.         dataType: 'json',
  7.         url: 'json.php?notificacion',
  8.         success: function(data) {
  9.                 $(data.elemento).jGrowl(data.msg, {
  10.                 sticky: data.sticky,
  11.                 theme: data.theme,
  12.                 closer: data.closer
  13.                 })
  14.         }
  15.     });
  16. }
  17.  
  18. // Llamamos a la función
  19. MostrarNotificaciones();   
  20. });

Pregunta 1:
Debería sacar la declaración de la función fuera del $(document).ready(function() { verdad?


Pregunta 2:
Entonces ahora si añado la llamada en cada página a la función notificación
MostrarNotificaciones();
Cada vez que se recargue la página hará una petición en ajax al script 'json.php?notificacion' tengo que encargarme que para el usuario que esta visitando la página saber si tiene alguna notificación (nuevo mensaje recibido) o no y hacer un echo en caso que lo tenga

Así no?

Código PHP:
Ver original
  1. <?
  2. /* FICHERO DONDE SE CREAN TODAS LAS RESPUESTAS JSON DE LAS DIFERENTES APLICACIONES */
  3.  
  4. // Notificaciones / mensajes de alerta
  5. function Mostrar_Notificacion(){
  6.     if (isset($_GET['notificacion'])){
  7.        
  8.         // Aqui va el codigo que comprueba en la base de datos si hay nuevos mensajes para el usuario
  9.         // Si hay nuevos mensajes devuelve un JSON con la notificación
  10.        
  11.         $resultado= '{
  12.         "elemento": "#notificacion",
  13.         "msg": "Has recibido un mensaje nuevo de Darucilla!",
  14.         "theme": "verde",
  15.         "sticky": "true",
  16.         "closer": "false"
  17.         }';
  18.         return $resultado;
  19.     }
  20. }
  21.  
  22. echo Mostrar_Notificacion();
  23. ?>


Muchas gracias de antemano!
  #17 (permalink)  
Antiguo 03/05/2010, 12:05
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Cita:
Debería sacar la declaración de la función fuera del $(document).ready(function() { verdad?
Si. No se por que a veces declararla adentro da problema... Así que mejor afuera.
  #18 (permalink)  
Antiguo 12/08/2011, 20:09
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 17 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Función para mostrar alertas / notificaciones con JQUERY

Llego un poco tarde al tema este... ejjejeje

Pero por si le sirve a alguien el dato... enotify es una modificación para el script de foro simple machines forum
http://custom.simplemachines.org/mods/index.php?mod=2198

Hace uso de jGrowl para mostrar notificaciones cada x tiempo...
Se le podría ver el código y ver cómo se la ha ingeniado, etc...

(el tiempo predeterminado de chequeo lo tiene en 10 segundos... eso y un sitio más o menos concurrido hace que los hosting compartidos te suspendan al rato, y luego hay que estar lidiando con el soporte, etc... tener cuidado ejejej)

Etiquetas: notificaciones, alerta
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 06:26.