Foros del Web » Programando para Internet » Javascript »

fondo web con la posición del sol según la hora

Estas en el tema de fondo web con la posición del sol según la hora en el foro de Javascript en Foros del Web. tengo un proyecto, y es hacer una web normalita de musica a la cual van a estar conectados mucho tiempo, y lo que quiero es ...
  #1 (permalink)  
Antiguo 26/02/2011, 16:36
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Mensaje fondo web con la posición del sol según la hora

tengo un proyecto, y es hacer una web normalita de musica a la cual van a estar conectados mucho tiempo, y lo que quiero es que el fondo de dicha web cambie con javascript puede ser cada media hora pero que no se actualice la pagina (solo el fondo)ya tengo algo hecho pero en php, pues muestra el fondo según la hora pero como saben ahí se queda hasta actualizar si alguien me puede echar una manito con algún script se lo agradecería (yo de javascript, poco o nada)
  #2 (permalink)  
Antiguo 26/02/2011, 16:48
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: fondo web con la posición del sol según la hora

Deberías tener 2 * 24 = 48 imágenes, si las tienes sólo hace falta algó así:
Código Javascript:
Ver original
  1. function cambiarFondo(){
  2.  var f = new Date();
  3.  var num = f.getHours() * 2 + f.getMinutes() >= 30 + 1;
  4.  document.body.style.backgroundImage = 'imagenes/' + num + 'jpg';
  5. // las rutas de las imágenes deben ser del tipo imagen/n.jpg donde n € [1, 48]
  6. }
  7. setInterval(function(){ cambiarFondo() }, 1000 * 60 * 30);
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 26/02/2011, 20:27
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

_cronos2 muchas gracias por responder tan rápido pero, no veo que estoy haciendo mal por que no logro ponerlo en marcha como lo dije antes no soy experto en javascript pero no soy de los que piden ayuda por pedirla así que le agradecería un poco mas, inserté el código entre las etiquetas head (lógico que con las etiquetas script) y también lo inserté en el body; las imágenes las tengo en la carpeta imagenes y numeradas de 1 a 48 y no me funciona de ninguna de las dos maneras.
  #4 (permalink)  
Antiguo 26/02/2011, 20:47
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: fondo web con la posición del sol según la hora

Prueba cambiando esta línea:
Código Javascript:
Ver original
  1. var num = f.getHours() * 2 + Number(f.getMinutes() >= 30) + 1;
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 27/02/2011, 21:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

Después de ensayar y ensayar me dio este código basado en el de _cronos2 donde lo que hice fue cambiar algunas cositas, como hacer que cambie cada hora, pero con un refresco de 3 segundos ya que si lo dejo que refresque cada 30 minutos habría que esperar ese lapso de tiempo para ver el primer fondo. No sé si estará mal el código pero me funciona. gracias por las luces _cronos2.

<script language="JavaScript">
function cambiarFondo(){
var f = new Date();
var num = f.getHours();
document.body.style.backgroundImage = 'url(' + 'imagenes/' + num + '.jpg' + ')';
}
window.onload = function(){
setInterval('cambiarFondo()', 3000);
};
</script>
  #6 (permalink)  
Antiguo 27/02/2011, 21:53
Avatar de AlejandroMtzRmz  
Fecha de Ingreso: febrero-2011
Mensajes: 81
Antigüedad: 13 años, 2 meses
Puntos: 4
Respuesta: fondo web con la posición del sol según la hora

Que buena idea, cuando termines el proyecto nos pasas la pagina para ver como quedo
  #7 (permalink)  
Antiguo 27/02/2011, 22:44
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: fondo web con la posición del sol según la hora

buenas...

Cita:
[...] lo que hice fue cambiar algunas cositas, como hacer que cambie cada hora, pero con un refresco de 3 segundos ya que si lo dejo que refresque cada 30 minutos habría que esperar ese lapso de tiempo para ver el primer fondo.
considero que es una perdida de recurso tener que invocar la funcion cada tres segundos. en ese caso, lo unico que tenias que hacer era invocar directamente la funcion una sola vez. o sea, dentro de onload invocas la funcion cambiarFondo. asi no tienes que esperar el lapso de treinta minutos la primera vez.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 28/02/2011, 09:14
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

Cita:
Iniciado por zerokilled Ver Mensaje
buenas...



considero que es una perdida de recurso tener que invocar la funcion cada tres segundos. en ese caso, lo unico que tenias que hacer era invocar directamente la funcion una sola vez. o sea, dentro de onload invocas la funcion cambiarFondo. asi no tienes que esperar el lapso de treinta minutos la primera vez.



gracias zerokilled por responder y desearía que me dijeras como se hace eso, por ahora es lo que me funcionó y estoy abierto a correcciones ya que como dije antes: de javascript "ni pio" solo trato de hacer algo con lo que encuentro; entiendo lo que usted dice del refresco cada tres segundos ya que es un desgaste enorme de recursos, pero la verdad no he encontrado algo que se ajuste a lo que quiero.
  #9 (permalink)  
Antiguo 28/02/2011, 09:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

Cita:
Iniciado por AlejandroMtzRmz Ver Mensaje
Que buena idea, cuando termines el proyecto nos pasas la pagina para ver como quedo
Me gusta compartir, cuente con eso!!!
  #10 (permalink)  
Antiguo 28/02/2011, 09:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: fondo web con la posición del sol según la hora

nada complicado... simplemente, antes de setInterval escribes la invocacion cambiarFondo().
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 28/02/2011, 09:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

Cita:
Iniciado por zerokilled Ver Mensaje
nada complicado... simplemente, antes de setInterval escribes la invocacion cambiarFondo().

jajaja, El que sabe sabe!, pero mi pregunta es: si entro a la página a las 8:59, vería el fondo de las 8 inmediatamente pero, habría que esperar media hora para ver el fondo de las 9:00, hay alguna forma de detectar el cambio de hora y hacer que el cambio de fondo sea inmediato o por lo menos sin tanto retraso?; o seria reducir, digamos a 5 minutos el refresco del fondo?

<html>
<head>
<title>Documento</title>
<script language="JavaScript">
function cambiarFondo(){
var f = new Date();
var num = f.getHours();
document.body.style.backgroundImage = 'url(' + 'imagenes/' + num + '.jpg' + ')';
}
window.onload = function(){
cambiarFondo()
setInterval('cambiarFondo()', 30000);
};
</script>
</head>
<body>

</body>
</html>
  #12 (permalink)  
Antiguo 28/02/2011, 10:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: fondo web con la posición del sol según la hora

me imaginaba que tu tema iba por ese lado pero a mi parecer no estaba bien expuesto ese aspecto. lo que tu busca son procesos sincronizados con el tiempo. es decir, intervalos de Xs tiempo -en tu caso de 30 minutos- sincronizado con la hora actual del usuario. o sea, por poner un ejemplo, a las 9:00, 9:30, 10:00, 10:30, etc. ¿estoy en lo correcto?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 28/02/2011, 11:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: fondo web con la posición del sol según la hora

Cita:
Iniciado por zerokilled Ver Mensaje
me imaginaba que tu tema iba por ese lado pero a mi parecer no estaba bien expuesto ese aspecto. lo que tu busca son procesos sincronizados con el tiempo. es decir, intervalos de Xs tiempo -en tu caso de 30 minutos- sincronizado con la hora actual del usuario. o sea, por poner un ejemplo, a las 9:00, 9:30, 10:00, 10:30, etc. ¿estoy en lo correcto?

De pronto es eso, no me he sabido dar a entender. replanteo:
  • La web es de reproducción de música, por lo tanto los usuarios van a permanecer mucho tiempo en ella.
  • El fondo es solo para que se vea algo diferente, seria como una especie de reloj de sol (posición del sol según la hora) son 24 fotos de mi pueblo a una foto por hora.
  • No necesariamente el refresco debe ser cada media hora lo coloque así solo por manejar un lapso y por ignorancia en el tema, si se puede que cambie solo cada hora sincronizado con el tiempo del servidor (combinado con php) mucho mejor, es mas yo tengo un saludo según la hora del día (buenos días, buenas tardes etc. según la hora del servidor).
  • Pido disculpas por no ser más claro desde un principio, y lo tendré en cuenta para una próxima. Mientras tanto deseo por favor seguir aprendiendo con sus respuestas desinteresadas. Gracias

Etiquetas: dinamico, fondo
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 19:02.