Foros del Web » Programando para Internet » Javascript »

Mostrar div cada determinado tiempo

Estas en el tema de Mostrar div cada determinado tiempo en el foro de Javascript en Foros del Web. Intento mostrar un div cada determinados minutos. Para eso utilizo una cookie, pero por alguna razon no me resulta. Les agradeceria me ayudara a saber ...
  #1 (permalink)  
Antiguo 08/06/2014, 14:58
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 7
Mostrar div cada determinado tiempo

Intento mostrar un div cada determinados minutos.
Para eso utilizo una cookie, pero por alguna razon no me resulta.
Les agradeceria me ayudara a saber que es lo que anda mal o que me dijeran si hay alguna manera mas facil de lograr esto.

Código Javascript:
Ver original
  1. function setCookie(cname, cvalue, exminutos) {var d = new Date();
  2. d.setTime(d.getTime() + (exminutos*60*1000));
  3. var expires = "expires="+d.toGMTString();
  4. document.cookie = cname + "=" + cvalue + "; " + expires;}
  5.  
  6. function getCookie(cname) {
  7. var name = cname + "=";
  8. var ca = document.cookie.split(';');
  9. for(var i=0; i<ca.length; i++) {
  10. var c = ca[i].trim();
  11. if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
  12. }return "";}
  13.  
  14. function checkCookie() {
  15. var user = getCookie("tiempo");
  16. if (user !== "" && user !== null) {
  17. // se muestra div #2
  18. setCookie("tiempo", "ufid", 5);}}
  19.  
  20. checkCookie();
  #2 (permalink)  
Antiguo 08/06/2014, 16:00
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Mostrar div cada determinado tiempo

Tienes segun lo veo, dos formas:


- Usar setInterval() o incluso setTimeOut() para lograr cada cierta cantidad de tiempo se haga algo.

- Usar cookies y hacer una comparacion de tiempos y posiblemente tambien ocupar setInterval() o incluso setTimeOut() : en este caso el tiempo seguiria corriendo cuando tu cierras el navegador.


Depende lo que quieras hacer!!!
__________________
Salu2!

Última edición por Italico76; 08/06/2014 a las 16:06
  #3 (permalink)  
Antiguo 08/06/2014, 20:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar div cada determinado tiempo

Según recuerdo, puedes crear las cookies en cualquier momento dentro de tu script, pero puedes consultarlas hasta que se recarga la página, por lo que la parte de las cookies puede ser útil para almacenar cuándo se mostró el div por última vez.

Luego, ya usarás alguna de las dos opciones sugeridas por Italico76 para calcular en qué momento presentar nuevamente el contenido si el usuario permanece en la página.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 08/06/2014, 20:48
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Mostrar div cada determinado tiempo

Las cookies se pueden consultar en cualquier momento aunque no tiene ningun sentido andar usandola como memoria de trabajo (leyendo-escribiendo-eyendo-escribiendo-...) para eso estan las variables.

El otro tema es que las cookies per se no resuelven el problema de la temporizacion, la clave siempre es un "evento" como el que genera un timer.
__________________
Salu2!

Última edición por Italico76; 08/06/2014 a las 21:14
  #5 (permalink)  
Antiguo 10/06/2014, 12:53
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: Mostrar div cada determinado tiempo

Gracias, el div queria mostrarlo solo una ves al usuario cada determinadas horas (24 por ejemplo) independientemente de cuantas veces entrara a la pagina. Para esto creo que usar una cookie era necesario. No?
  #6 (permalink)  
Antiguo 10/06/2014, 12:56
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Mostrar div cada determinado tiempo

Yeap________
__________________
Salu2!

Etiquetas: cada, determinado, tiempo
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 12:09.