Foros del Web » Programando para Internet » Javascript »

Cambiar imagen y css dependiendo de la hora

Estas en el tema de Cambiar imagen y css dependiendo de la hora en el foro de Javascript en Foros del Web. Muy buenas. Me gustaria saber si modificando este codigo que lo que hace es dependiendo de la hora del dia cargar una imagen o otra ...
  #1 (permalink)  
Antiguo 02/07/2012, 05:25
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Cambiar imagen y css dependiendo de la hora

Muy buenas.
Me gustaria saber si modificando este codigo que lo que hace es dependiendo de la hora del dia cargar una imagen o otra de fondo, que cargara tambien una hoja de estilos diferente.
Para cambiar junto con la imagen colores de las fuentes, enlaces etc.
El codigo es este.
Código:
<script language="JavaScript">
 
function imagen(){
   fecha = new Date();
   
   hora = fecha.getHours();
    
   if(hora>=1 && hora<=10){//imagen desde la 1am hasta las 10am
      document.getElementById("fondo").style.backgroundImage="url(img/mañana.jpg)";
   }
   
   if(hora>=11 && hora<=18){//imagen desde las 11am hasta las 6pm
      document.getElementById("fondo").style.backgroundImage="url(img/frontal1.jpg)";
   }
   
   if(hora>=19 && hora<=24){//imagen desde las 7pm hasta las 12pm
      document.getElementById("fondo").style.backgroundImage="url(img/frontal2.png)";
   }
    
               }
</script>
Alguien sabria como deberia de hacerlo?
Un saludo
__________________
http://www.paxarindesign.es
  #2 (permalink)  
Antiguo 02/07/2012, 06:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cambiar imagen y css dependiendo de la hora

Asignale un id a tu link al archivo de estilos por defecto
<link rel="stylesheet" type="text/css" href="estilos1.css" media="screen" id="hojadeestilos" />

luego en tu función para cada cambio de horas
document.getElementById('hojadeestilos').href='est ilos2.css';
idem para estilos3.css, etc

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 02/07/2012, 09:57
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Cambiar imagen y css dependiendo de la hora

Cita:
Iniciado por emprear Ver Mensaje
Asignale un id a tu link al archivo de estilos por defecto
<link rel="stylesheet" type="text/css" href="estilos1.css" media="screen" id="hojadeestilos" />

luego en tu función para cada cambio de horas
document.getElementById('hojadeestilos').href='est ilos2.css';
idem para estilos3.css, etc

Saludos
Muchisimas gracias voy a probarlo.
Un saludo
__________________
http://www.paxarindesign.es
  #4 (permalink)  
Antiguo 02/07/2012, 11:17
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Cambiar imagen y css dependiendo de la hora

Por algun extraño motivo no funciona.
la llamo a la funcion desde el body
Código:
<script language="JavaScript">
 function css(){
   fecha = new Date();
   hora = fecha.getHours();
    
   if(hora>=19 && hora<=8){//css desde las 19 hasta las 8 am
	  document.getElementById('noche').href='css/style_noche.css';
   }
   }
</script>
<body onLoad="inicio(); css()">
Y el link al css es
<link rel="stylesheet" href="css/style_noche.css" id="noche" />
Por más cosas que prove la verdad no funciona cosa extraña la verdad, ya que esta funcion la use en una web y si cambia las imagenes
__________________
http://www.paxarindesign.es
  #5 (permalink)  
Antiguo 02/07/2012, 13:40
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Cambiar imagen y css dependiendo de la hora

está condición nunca se puede cumplir
Cita:
if(hora>=19 && hora<=8)
si es mayor a 19 no puede ser menor que 8. el operador tendría que ser (||)
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 02/07/2012, 13:48
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Cambiar imagen y css dependiendo de la hora

Cita:
Iniciado por paxarin Ver Mensaje
Por algun extraño motivo no funciona.
la llamo a la funcion desde el body
Código:
<script language="JavaScript">
 function css(){
   fecha = new Date();
   hora = fecha.getHours();
    
   if(hora>=19 && hora<=8){//css desde las 19 hasta las 8 am
	  document.getElementById('noche').href='css/style_noche.css';
   }
   }
</script>
<body onLoad="inicio(); css()">
Y el link al css es
<link rel="stylesheet" href="css/style_noche.css" id="noche" />
Por más cosas que prove la verdad no funciona cosa extraña la verdad, ya que esta funcion la use en una web y si cambia las imagenes
Esto ya lo contesté un par de veces, pero no recuerdo dónde, asi que lo pongo otra vez

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <link rel="stylesheet" type="text/css" href="estilos1.css" media="screen" id="hojadeestilos" />
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function banner() {
  10. var hoy = new Date();
  11. var hora = hoy.getHours();
  12. var banner_logo = document.getElementById('banner');
  13. if((hora >= 7)&&(hora <= 14)) { // 7,8,9,10,11,12,13,14
  14. banner_logo.src = 'sfondo03.jpg';
  15. document.getElementById('hojadeestilos').href='estilos1.css';
  16. }
  17. if((hora >= 15)&&(hora <= 22)) { // 15,16,17,18,19,20,21,22
  18. banner_logo.src = 'sfondo07.jpg';
  19. document.getElementById('hojadeestilos').href='estilos2.css';
  20. }
  21. if((hora >= 23)||(hora < 7)){ // 23,0,1,2,3,4,5,6
  22. banner_logo.src = 'sfondo06.jpg';
  23. document.getElementById('hojadeestilos').href='estilos3.css';
  24. }
  25. }
  26. //]]>
  27. </head>
  28. <body onload="banner();">
  29. <h1>Demo</h1>
  30. <img src="sfondo03.jpg" id="banner" alt="" />  
  31. </body>
  32. </html>


Este ejemplo hace una rotación cada 8 horas.
Tendrás que adaptarla a tu necesidad
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 03/07/2012, 10:35
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Cambiar imagen y css dependiendo de la hora

Cita:
Iniciado por IsaBelM Ver Mensaje
está condición nunca se puede cumplir

si es mayor a 19 no puede ser menor que 8. el operador tendría que ser (||)
Muy buenas.
desde mi ignoracia y hasta lo que yo entiendo, es que cuando coje el tiempo de nuestro reloj debe de interpretar que si son las entre 19 Pm y las 8Am debe cargar una hoja de estilos.
No obstante probare como me comentas.
Un saludo y gracias.
__________________
http://www.paxarindesign.es
  #8 (permalink)  
Antiguo 03/07/2012, 10:40
Avatar de paxarin  
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Cambiar imagen y css dependiendo de la hora

Cita:
Iniciado por emprear Ver Mensaje
Esto ya lo contesté un par de veces, pero no recuerdo dónde, asi que lo pongo otra vez

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <link rel="stylesheet" type="text/css" href="estilos1.css" media="screen" id="hojadeestilos" />
  7. <script type="text/javascript">
  8. //<![CDATA[
  9. function banner() {
  10. var hoy = new Date();
  11. var hora = hoy.getHours();
  12. var banner_logo = document.getElementById('banner');
  13. if((hora >= 7)&&(hora <= 14)) { // 7,8,9,10,11,12,13,14
  14. banner_logo.src = 'sfondo03.jpg';
  15. document.getElementById('hojadeestilos').href='estilos1.css';
  16. }
  17. if((hora >= 15)&&(hora <= 22)) { // 15,16,17,18,19,20,21,22
  18. banner_logo.src = 'sfondo07.jpg';
  19. document.getElementById('hojadeestilos').href='estilos2.css';
  20. }
  21. if((hora >= 23)||(hora < 7)){ // 23,0,1,2,3,4,5,6
  22. banner_logo.src = 'sfondo06.jpg';
  23. document.getElementById('hojadeestilos').href='estilos3.css';
  24. }
  25. }
  26. //]]>
  27. </head>
  28. <body onload="banner();">
  29. <h1>Demo</h1>
  30. <img src="sfondo03.jpg" id="banner" alt="" />  
  31. </body>
  32. </html>


Este ejemplo hace una rotación cada 8 horas.
Tendrás que adaptarla a tu necesidad
Saludos
Gracias por el post, probare haber cual puede ser el problema.
Un saludo y muchas gracias
__________________
http://www.paxarindesign.es

Etiquetas: css, dependiendo
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 17:44.