Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Texto que cambie según el dia de la semana y según la hora

Estas en el tema de Texto que cambie según el dia de la semana y según la hora en el foro de Javascript en Foros del Web. Hola a tod@s!!. Les querría preguntar una cosa que llevo mucho tiempo intentando resolver.. Quiero hacer un Script con un texto que vaya cambiando según ...
  #1 (permalink)  
Antiguo 18/09/2013, 05:14
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Texto que cambie según el dia de la semana y según la hora

Hola a tod@s!!. Les querría preguntar una cosa que llevo mucho tiempo intentando resolver..


Quiero hacer un Script con un texto que vaya cambiando según el día de la semana y según la hora...

Para ello parto de este código:

Código Javascript:
Ver original
  1. var now = new Date(); var hours = now.getHours();
  2. if ((hours>=0)&&(hours<6)) txthello="MADRUGADA";
  3. if ((hours>=6)&&(hours<21)) txthello="DIA";
  4. if ((hours>=21)&&(hours<0)) txthello="NOCHE";
  5. document.write(txthello);

¿Como sería la modificación del mismo dependiendo del día de la semana para que se cambiara de forma automática?

Espero haberme explicado bien. Quedo a la espera de vuestras respuestas...

Saludos.


Última edición por pzin; 18/09/2013 a las 05:44 Razón: formato código
  #2 (permalink)  
Antiguo 19/09/2013, 07:00
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 2 meses
Puntos: 29
Respuesta: Texto que cambie según el dia de la semana y según la hora

Código Javascript:
Ver original
  1. function diaSemana(valor) {
  2.  
  3.    var now = new Date();
  4.  
  5.    var sDia;
  6.    var day = now.getDay();
  7.    var hours = now.getHours();
  8.  
  9.    /**
  10.     * Imprime: 0->domingo | 6->sabado
  11.     */
  12.    switch (day) {
  13.       case 0:
  14.          sDia = 'domingo';
  15.          break;
  16.       case 1:
  17.          sDia = 'lunes';
  18.          break;
  19.       case 2:
  20.          sDia = 'martes';
  21.          break;
  22.       case 3:
  23.          sDia = 'miércoles';
  24.          break;
  25.       case 4:
  26.          sDia = 'jueves';
  27.          break;
  28.       case 5:
  29.          sDia = 'viernes';
  30.          break;
  31.       default:
  32.          sDia = 'sábado';
  33.          break;
  34.    }
  35.  
  36.    if ((hours >= 0) && (hours < 6))
  37.       txthello = "MADRUGADA";
  38.    if ((hours >= 6) && (hours < 21))
  39.       txthello = "DIA";
  40.    if ((hours >= 21) && (hours < 0))
  41.       txthello = "NOCHE";
  42.  
  43.    document.write(sDia + ': ' + hours + 'hs' + ' ' + txthello);
  44. }
  #3 (permalink)  
Antiguo 19/09/2013, 09:18
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Respuesta: Texto que cambie según el dia de la semana y según la hora

Muchas gracias por la ayuda... Pero que variables ahi que cambiar para que me surta el efecto deseado??..

Saludos y muchisimas gracias...
  #4 (permalink)  
Antiguo 19/09/2013, 10:20
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 2 meses
Puntos: 29
Respuesta: Texto que cambie según el dia de la semana y según la hora

Cambia los mensajes de las variables sDia y sHora dentro de los switch según tu conveniencia.

Código Javascript:
Ver original
  1. // quita los if y agrega este para los mensajes de hora
  2.    switch (true) {
  3.       case (hours >= 0 && hours < 6):
  4.          sHora = 'entre 0 y 6 MADRUGADA';
  5.          break;
  6.       case (hours >= 6 && hours < 21):
  7.          sHora = 'entre 6 y 21 DIA';
  8.          break;
  9.       case (hours >= 21 && hours < 0):
  10.          sHora = 'entre 21 y 0 NOCHE';
  11.          break;
  12.       default:
  13.          break;
  14.    }
  15.  
  16.    // modificar
  17.    document.write(sDia + ': ' + hours + 'hs' + ' - ' + sHora);
  #5 (permalink)  
Antiguo 01/10/2013, 09:44
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Mensaje Respuesta: Texto que cambie según el dia de la semana y según la hora

Hola bathorz, gracias por el código último que pusiste, pero lo probé y no me funcionó... Estos días seguí buscando y di con otro, pero no hace del todo lo que yo quiero, lo hace según las horas del días pero no según los días de la semana....

Te dejo el código por si me pudieras echar un cable, lo agradecería mucho....

Gracias de antemano crack....

Te dejo el texto que encontré....

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  4.         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
  5.         var d = new Date();
  6.         var hour = d.getHours();
  7.         var min = d.getMinutes();
  8.         var ruta = '';
  9.         var texto = '';
  10.        
  11.     jQuery(document).ready(function(){
  12.         setInterval('cambiarImagen()',1000);
  13.         cambiarImagen();
  14.     });
  15.        
  16.         function cambiarImagen(){
  17.             d = new Date();
  18.             hour = d.getHours();
  19.             min = d.getMinutes();
  20.             sec = d.getSeconds();
  21.             switch(hour){
  22.                 case 17 : if (((min >= 00) && (min < 59))){
  23.                                 ruta = 'RUTA DE LA IMAGEN';
  24.                                 texto = 'RUTA DEL TEXTO';
  25.                             }  
  26.                           break;  
  27.                          
  28.             }
  29.             jQuery('#imagen').attr('src',ruta);
  30.             jQuery('#txt').html(texto)
  31.         }
  32. </head>
  33. <img id="imagen" src="" />
  34. <p id="txt"></p>
  35. </body>
  36. </html>
  #6 (permalink)  
Antiguo 01/10/2013, 15:11
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 8 meses
Puntos: 31
Respuesta: Texto que cambie según el dia de la semana y según la hora

Puedes hacerlo con lo que ya tenias y con lo que te pasó bathorz:
Algo como esto tal vez te sirva:
Código Javascript:
Ver original
  1. <script language="javascript">
  2. function mensajes(){
  3.    var txthello="";
  4.    var now = new Date();
  5.    var day = now.getDay();
  6.    var hours = now.getHours();
  7.  
  8.    //Agrego el dia domingo con sus 3 mensajes segun la hora
  9.     if(day == 0){
  10.         if ((hours>=0) && (hours<6)) {txthello=" DOMINGO MADRUGADA";}
  11.         else if ((hours>=6) && (hours<21)) {txthello=" DOMINGO DIA";}
  12.         else if ((hours>=21) && (hours<0)) {txthello=" DOMINGO NOCHE";}
  13.     }
  14.    
  15.     //Agrego otro dia (el martes) con sus 3 mensajes segun la hora
  16.     else if(day == 2){
  17.         if ((hours>=0) && (hours<6)) {txthello=" MARTES MADRUGADA";}
  18.         else if ((hours>=6) && (hours<21)) {txthello=" MARTES DIA";}
  19.         else if ((hours>=21) && (hours<0)) {txthello=" MARTES NOCHE";}
  20.     }
  21.    
  22.          
  23.    document.write(txthello + '<br/>');
  24. }
  25.  
  26.  
  27. mensajes(); //llamo a la funcion para que muestre el mensaje correspondiente
  28. </script>

saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #7 (permalink)  
Antiguo 02/10/2013, 05:54
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Respuesta: Texto que cambie según el dia de la semana y según la hora

Hola Javier, Muchísimas Gracias por el código pero he venido durante toda la mañana observando un problema. Cambiando el reloj del pc en hora... el tramo que va desde las 23:00hrs hasta las 0:00hrs me lo queda en blanco y no sale níngún mensaje.... ¿a que puede ser debido esto?. No obstante es un problemilla menor.

Un saludo de nuevo y muchas gracias...
  #8 (permalink)  
Antiguo 02/10/2013, 13:09
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 2 meses
Puntos: 29
Respuesta: Texto que cambie según el dia de la semana y según la hora

Encontré un error en mi código:
Código Javascript:
Ver original
  1. if ((hours >= 0) && (hours < 6)) // OK
  2. if ((hours >= 6) && (hours < 21)) // OK
  3. if ((hours >= 21) && (hours < 0)) // ERROR cambiar 0 por 24
Puede que sea el que estás buscando
  #9 (permalink)  
Antiguo 03/10/2013, 00:43
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Mensaje Respuesta: Texto que cambie según el dia de la semana y según la hora

Hola bathorz de nuevo, probé el código poniéndole el 0 en vez de 24 y no hace nada, me lo sigue dejando en blanco.

Pero bueno es un error menor, lo que más me importaba es no estar cambiando todos los días el código manualmente..

Saludos y gracias por la ayuda.
  #10 (permalink)  
Antiguo 03/10/2013, 00:54
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 2 meses
Puntos: 29
Respuesta: Texto que cambie según el dia de la semana y según la hora

El código correcto sería este:
Código Javascript:
Ver original
  1. if ((hours >= 0) && (hours < 6))
  2. if ((hours >= 6) && (hours < 21))
  3. if ((hours >= 21) && (hours < 24))
Extraño que no te funcione.
  #11 (permalink)  
Antiguo 03/10/2013, 01:47
Avatar de frantxu  
Fecha de Ingreso: noviembre-2007
Mensajes: 77
Antigüedad: 17 años
Puntos: 0
Mensaje Respuesta: Texto que cambie según el dia de la semana y según la hora

Hola de nuevo bathorz!! Ahora esto si que funciona de lujo... Muchas Gracias de verdad. Pongo fin a un mes de búsqueda de este codigillo...

Un abrazo!!! y gracias de nuevo

Etiquetas: dia, html, según, semana
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 14:32.