Foros del Web » Creando para Internet » HTML »

Cambio de div en función de día y hora

Estas en el tema de Cambio de div en función de día y hora en el foro de HTML en Foros del Web. Hola a todos Antes que nada he buscado en el foro, pero no no he sido capaz de encontrarlo o no hay nada similar. Mi ...
  #1 (permalink)  
Antiguo 26/01/2011, 05:10
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Pregunta Cambio de div en función de día y hora

Hola a todos

Antes que nada he buscado en el foro, pero no no he sido capaz de encontrarlo o no hay nada similar.

Mi pretensión es incluir en una web (html, ajax y css) un div cuyo contenido cambie en función del día de la semana y un lapso horario.
Por ejemplo
Lunes de 9:00 a 11:00 = div contenido1
Lunes de 11: a 13:00 = div contenido2
etcétera

Esto es posible?
Alguna idea de como hacerlo

Gracias por anticipado

Un saludo
  #2 (permalink)  
Antiguo 26/01/2011, 05:38
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 15 años, 5 meses
Puntos: 361
Respuesta: Cambio de div en función de día y hora

Hola:

Tendrás que hacerlo con algún lenguaje de programación del lado del cliente (javascript) o del lado del servidor (PHP, Java, ASP).

Saludos.

  #3 (permalink)  
Antiguo 26/01/2011, 06:38
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Hola,
tienes que pensar que, si lo realizas exclusivamente en javascript (entiendo que es por lo que pones ajax), estarías sujeto al horario del ordenador cliente, es decir, dependerás de la hora que tenga el usuario que se conecte a tu página (el problema aquí es que no tenga bien la hora o, simplemente, esté en otra zona horaria...).

Yo lo haría combinando javascript con un lenguaje servidor como php, java, asp... Me explico, usaría el ajax para hacer comprobaciones frente al servidor, que cada X tiempo, haga una consulta al servidor preguntando por el contenido que le corresponde, siendo el servidor quien determine el contenido. Luego ya sería el javascript quien, usando la tecnología ajax, muestre el contenido correcto sin recargar la página.

Si te he entendido bien, yo haría esto, aunque existen miles de opciones para solucionarlo.

Salu2
  #4 (permalink)  
Antiguo 26/01/2011, 07:44
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cambio de div en función de día y hora

Gracias por vuestras respuestas.
Quizás si me explico más a fondo entenderéis mejor la idea y yo vuestras respuestas, así que disculpadme por no haber sido más concreto con el anterior post.

Sew trata de lo siguiente:
Tengo un swf que me han dado que enlaza con una radio en streaming. No tengo acceso al fla, solo el swf cerrado, por lo que no puedo tocar nada ahí.
La radio emite diferentes programas en días y horas.
De lo que se trata es de cargar en un div información del programa que se está emitiendo en ese momento.
Como me han dado la parrilla con la programación, la idea es crear un div por cada programa y de alguna manera hacerlo visible en el momento adecuado.
También me serviría información de como cargar un div determinado por una id de una web externa en la que estoy tratando (sin mucho éxito) de montar.

Espero haberme explicado bien...

Muchísimas gracias por vuestro interés

un saludo
  #5 (permalink)  
Antiguo 26/01/2011, 11:07
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Hola,
por lo que comentas, está claro que tienes que controlar la exactitud del tiempo, por lo que, la solución mixta es la mejor opción. En este punto, yo suelo usar una librería llamada [URL="http://www.prototypejs.org"]prototype[/URL], que te facilita muchas tareas (no sé si es lo que estás usando o vas a usar). Como es la que más me gusta, te haré el ejemplo con ella.

Tendrías que poner el siguiente código javascript dentro de los tags HEAD de tu página.

Código:
<script type="text/javascript" language="javascript">
Event.observe(window, 'load', function() {
  new Ajax.PeriodicalUpdater('myDiv', 'myphp.php', 
   {
    method: 'get',
    frequency: 1,
    decay: 1
 });
});
</script>
En tu página deberías tener el elemento DIV con un id 'myDiv' y ya solo te quedaría implementar el php, asp o lenguaje que hayas elegido, con el control del horario, que leyese el contenido a presentar y lo devolviese en cada llamada. Esta función javascript se encarga (por si no la conocías) de hacer la llamada ajax al servidor (en este ejemplo la hará a un php llamado myphp.php) y luego se encarga de meter la respuesta en el elemento que tenga el id que se le ha indicado (en este caso, el div con el id 'myDiv')

Espero que te sirva de ayuda.
Salu2

---
[URL="http://www.iriazabal.com"]Todos necesitamos una ayudita de vez en cuando...[/URL]
No todos la encontramos :P

Última edición por fertest; 26/01/2011 a las 11:32
  #6 (permalink)  
Antiguo 27/01/2011, 01:21
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cambio de div en función de día y hora

Gracias por tus excelentes ideas Fertest, me pondré a estudiarlo a fondo

Un saludo
  #7 (permalink)  
Antiguo 27/01/2011, 13:26
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Cambio de div en función de día y hora

Finalmente trasteando con javascript y cargando una imagen lo he resuelto.

Por si a alguien le viene bien, este es el código que estoy usando a falta de pulir un par de detalles como un link y la etiqueta alt:

Código:
<script language="JavaScript">

var hoy = new Date(),
dia = hoy.getDay(),
hora = hoy.getHours();

/*LUNES A VIERNES DE 07 A 10*/
if (hora > 7 && hora <= 10 && dia >= 0 && dia <= 5) {
document.write('<img border="0" src="url.jpg" align="left">');}

/*LUNES A JUEVES DE 10 A 12*/
if (hora > 10 && hora <= 12 && dia >= 0 && dia <= 4) {
document.write('<img border="0" src="url.jpg" align="left">');}


/*VIERNES Y SABADOS DE 10 A 12*/
if (hora > 10 && hora <= 12 && dia >= 5 && dia <= 6) {
document.write('<img border="0" src="url.jpg" align="left">');}


/*LUNES A VIERNES DE 12 A 14*/
if (hora > 12 && hora <= 10 && dia >= 0 && dia <= 5) {
document.write('<img border="0" src="url.jpg" align="left">');}

/*LUNES A VIERNES DE 18 A 20*/
if (hora > 18 && hora <= 14 && dia >= 0 && dia <= 5) {
document.write('<img border="0" src=".jpg" align="left"><br>');}

/*LUNES A VIERNES DE 20 A 22*/
if (hora > 20 && hora <= 22 && dia >= 0 && dia <= 5) {
document.write('<img border="0" src="url.jpg" align="left"><br>');}

</script>
Muchas gracias a todos por vuestras ideas que iré estudiando

Un saludo
  #8 (permalink)  
Antiguo 27/01/2011, 13:42
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Hola,
veo que al final has descartado la programación ajax y el desarrollo servidor para controlar la hora. Creo que al ser una información que debe aparecer a la misma hora que se está realizando el programa, es un error resolverlo en el cliente, puesto que si se conectase alguién que estuviese en distinta zona horaria, la información mostrada podría no coincidir con el programa que esté sonando en ese momento.

También veo que este código lo has programado para que se ejecute al cargarse la página, pero no veo donde tienes contemplada la actualización de la información (me imagino que es porque no has puesto el código completo). Me preocupa esto porque, de este código, parece que no tuvieras presente que alguien pueda estar en tu página todo el día, sin salir de ella, en cuyo caso, la información se mostraría bien cuando entre, pero luego no se modificaría a medida que pasen las horas.

No te molestes por estos comentarios, solo quiero asegurarme que conoces estos problemas, para que te salga, lo mejor posible, el desarrollo.

Salu2
  #9 (permalink)  
Antiguo 27/01/2011, 14:38
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cambio de div en función de día y hora

Molestarme?? muy al contrario, te lo agradezco mucho.

Me decidí por este sistema por las prisas que me están metiendo, pero ya estudiaré lo que propones, porque estoy seguro de que es mucho más correcto.
La actualización para el caso que comentas, que es muy habitual abrir una radio web durante horas, la tengo prevista. Nuevamente por las prisas recargaré todo el documento cada hora... no me da tiempo a estudiarme como añadir al código que estoy usando una actualización. No soy muy bueno en programación y voy jugando a prueba/error. Si tienes alguna sugerencia te lo agradecería.

En el otro tema que comentas, el de si elegir el horario del cliente o del servidor, me he decidido por el cliente al ser una radio que sólo emite a nivel local por antena. Para remate el servidor donde estará alojada no coincide con el horario local. Nuevamente te agradecería cualquier sugerencia

Muchísimas gracias por tu interés y ayuda!!

Un saludo
  #10 (permalink)  
Antiguo 28/01/2011, 03:50
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Perfecto,
entiendo lo que dices, cuando no hay tiempo, a veces toca hacer lo que se pueda. Solo te aconsejaría que no recargues toda la página, cosa que le cortaría la radio al usuario durante el tiempo de la recarga, sino que lo hagas mediante un función que actualice el contenido del div, función a la que llamarías periódicamente mediante la función javascript setTimeout. Esta modificación no recargaría la página, sino que actualizaría el contenido del div.

Salu2
  #11 (permalink)  
Antiguo 30/01/2011, 12:25
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cambio de div en función de día y hora

Gracias fertest!!
Me empollaré el tema setTimeout, que lo tengo verde del todo :( ya que lo he maquetado con tabs de ajax para que al navegar la web no se corte el reproductor que está en el header.

He encontrado una [URL="http://www.locafm.com/"]web[/URL] que hace exactamente lo que necesito, pero no consigo descubrir por más horas que le he dedicado como demonios lo han hecho para cargar en un div un contenido en función de lo que suena en el reproductor :( pero tampoco me extraña, no soy ningún experto.
Si le echas un vistazo igual descubres el sistema con tu ojo entrenado

Repito, muchas gracias por el tiempo que me has dedicado

un saludo
  #12 (permalink)  
Antiguo 02/02/2011, 09:16
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Hola,
ando un poco liado últimamente y por eso no he podido responder antes.

No soy partidario de copiar por copiar, el problema que quieres resolver tiene fácil solución desde javascript, con las herramientas que te puse en el primer post. De todos modos, esa solución la podrás aportar en el momento en que tengas un poco de tiempo para pararte a mirar ejemplos.

Salu2
  #13 (permalink)  
Antiguo 13/02/2011, 05:32
 
Fecha de Ingreso: enero-2011
Mensajes: 9
Antigüedad: 6 años, 10 meses
Puntos: 0
Respuesta: Cambio de div en función de día y hora

Gracias por tu ayuda.
Finalmente he conseguido más tiempo y lo haré con php y el refresco con un script como me aconsejaste desde el principio

Un saludo!!!
  #14 (permalink)  
Antiguo 13/02/2011, 07:46
 
Fecha de Ingreso: enero-2011
Mensajes: 45
Antigüedad: 6 años, 10 meses
Puntos: 2
Respuesta: Cambio de div en función de día y hora

Me alegro, los trabajos sin tiempo siempre acaban saliendo mas caros. Pues ya sabes, si tienes alguna duda, por aquí andaremos.

Salu2

Etiquetas: cambios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:43.