Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/11/2013, 07:25
Avatar de Crishe
Crishe
 
Fecha de Ingreso: noviembre-2013
Ubicación: España
Mensajes: 2
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: ¿Me ayudan con este script?

Cita:
Iniciado por America|UNK Ver Mensaje
Si estás aprendiendo Javascript, deberías leer más sobre el funcionamiento de búcles, matrices y document.write.
document.write te escribirá al final del documento en este caso, si deseas que un contenido que generas en una cadena salga en un mismo lugar del HTML, deberías crear un identificador en un objeto HTML, por ejemplo (DIV, p, spam, etc ...en el ejemplo use <b>), tambien asignarle el atributo id= , que sirve como identificador del tag HTML, te servirá para luego captarlo con JavaScript.

No abuses de los condicionales, si vas a usar una condición que hace lo mismo en varias ocasiones, puedes usar búcles (while,for), lee a fondo sobre ese tema, te ahorrará mucho código.

Aquí te dejo un ejemplo, en este caso usé matrices, se puede hacer de otra forma con búcles pero este método se te hará más fácil para ti

Código HTML:
Ver original
  1. </head>
  2. <body onload="directo()">
  3.  
  4. <div>DJ actual: <b id="queDJletoca">Cargando...</b></div>
  5.  
  6. <SCRIPT LANGUAGE="JavaScript">
  7.  
  8. var DJs =
  9.     {
  10.         0: "AutoDJ",
  11.         1: "Miguel Electrico",
  12.         2: "Nachek Dj",
  13.         3: "DJ Motoloco",
  14.         4: "Dj Sistern & Dj Piranha",
  15.         5: "Airon Diaz",
  16.         6: "SoundFactory"
  17.     }
  18.    
  19. var Horarios =
  20.     {
  21.         "19-1": DJs[1],     "19-3": DJs[1],     "19-4": DJs[1],     "19-5": DJs[1],
  22.         "20-1": DJs[2],     "20-3": DJs[2],     "18-2": DJs[3],     "18-3": DJs[3],
  23.         "18-4": DJs[3],     "17-4": DJs[4],     "20-5": DJs[5],     "21-5": DJs[6]
  24.     }
  25.  
  26. function directo(){
  27.     var donde = document.getElementById("queDJletoca"),
  28.     date = new Date(),
  29.     dia = date.getDay(),
  30.     hora = date.getHours();
  31.    
  32.     var horaYdia = hora + "-" + dia; //horaYdia ejem: 20-3 mostrará DJs[2] que es Nachek Dj
  33.  
  34.     var existeHorarioDeDJ = (typeof(Horarios[horaYdia]) != "undefined"); //comprobar si hay un DJ para el horario actual
  35.    
  36.     if(existeHorarioDeDJ){
  37.         donde.innerHTML = Horarios[horaYdia] //ejem: "20-3" mostrará DJs[2] que es Nachek Dj
  38.     }else{
  39.         donde.innerHTML = DJs[0] //Muestra AutoDJ
  40.     }
  41.        
  42.     setTimeout("directo()",1000);
  43. }
  44.  

PD: Para estos casos también lee más sobre jQuery.
me habia vuelto loco intentando solucionar el problema, y me lo has resuelto enseguida, esta claro que tengo que estudiar javascript más a fondo, tambien leeré más sobre jQuery. Saludos y muchas gracias!