Foros del Web » Programando para Internet » Javascript »

Imagenes

Estas en el tema de Imagenes en el foro de Javascript en Foros del Web. Hola nuevamente, a los tiempos...! Ahora he retornado al diseño de páginas web. Ahora necesitaba hacer una página donde aparezca una imagen, que varía cada ...
  #1 (permalink)  
Antiguo 22/08/2005, 11:26
Avatar de medinauta  
Fecha de Ingreso: diciembre-2002
Ubicación: Guayaquil
Mensajes: 159
Antigüedad: 21 años, 4 meses
Puntos: 0
Imagenes

Hola nuevamente, a los tiempos...!
Ahora he retornado al diseño de páginas web.

Ahora necesitaba hacer una página donde aparezca una imagen, que varía cada día.

Para esto estoy usando tres selects para el año, mes y día... porque las imagenes se la agregan de acuerdo al día, una imagen llamada "050820.jpg" fué creada el 2005-Agosto-20., debería presentarse automáticamente la que corresponda al día. Luego quiero poner una opción para que con los selects se puedan ver imágenes anteriores.

Necesito:

1.- El código para que lea la fecha y cambie la dirección del enlace de la imagen.

2.- Saber cómo restringir el select del mes de inicio del select para que si el año de inicio es 1998 el mes empiece con "Octubre", ya que es ahí el inicio de las imágenes.

Tomé un código de Kaopectate: Selector de año, mes y día

pero necesito cambiarle esa parte:
Código:
function llenaMes(oMes, nAno){
    var hoy = new Date();
    var nFin = 11;
    while (oMes.length > 0) oMes.remove(0);
	if (nAno == hoy.getYear()) nFin = hoy.getMonth();
    addOpt(oMes, 0, "", "");

    //addOpt(oMes, 0, "", "");
	for (var i = 0; i <= nFin; i++)
     addOpt(oMes, i + 1, aMeses[i], String(i));
Debería revisar el año, si es el año en curso, el límite del mes es el mes actual, pero quisiera que si el año es 1998, el mes inicial sea Octubre.

Les agardecería mucho su ayuda.

Última edición por medinauta; 22/08/2005 a las 15:22 Razón: Cambio de necesidades
  #2 (permalink)  
Antiguo 23/08/2005, 08:09
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Algo asi ¿verdad?

Código PHP:
   function llenaMes(oMesnAno){ 
    var 
hoy = new Date(); 
    var 
nFin 11
    while (
oMes.length 0oMes.remove(0); 
    if (
nAno == hoy.getYear()) nFin hoy.getMonth();
    
addOpt(oMes0""""); 
    for (var 
nAno==1998?9:<= nFini++) 
     
addOpt(oMes1aMeses[i], String(i)); 
   } 
Si el año es 1998, i comenzará en 9 (octubre), si es diferente, en 0 (enero).
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 23/08/2005, 09:02
Avatar de medinauta  
Fecha de Ingreso: diciembre-2002
Ubicación: Guayaquil
Mensajes: 159
Antigüedad: 21 años, 4 meses
Puntos: 0
Así es, eso es exactamente lo que buscaba, Gracias derkenuke.

Ahorita me falta ver como colocar la imagen a partir de la fecha seleccionada
  #4 (permalink)  
Antiguo 23/08/2005, 09:53
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Hombre.. puedes hacerlo asi por ejemplo

Código PHP:
<html
<
head
  <
script language="JavaScript"

   var 
aMeses = new Array("Enero""Febrero""Marzo""Abril""Mayo""Junio""Julio""Agosto""Septiembre""Octubre""Noviembre""Diciembre"

   function 
padNmb(nStrnLensChr){ 
    var 
sRes String(nStr); 
    for (var 
0nLen String(nStr).lengthi++) 
     
sRes sChr sRes
    return 
sRes
   } 

   function 
makeDateFormat(nDaynMonthnYear){ 
    var 
sRes
    
sRes padNmb(nDay2"0") + "/" padNmb(nMonth2"0") + "/" padNmb(nYear4"0"); 
    return 
sRes
   } 
    
   function 
addOpt(oCntrliPossTxtsVal){ 
    var 
selOpcion = new Option(sTxtsVal); 
    
oCntrl.options.add(selOpcioniPos); 
   } 

   function 
lastDayOfMonth(nMonthnYear){ 
    var 
aMonth = new Array(312831303130313130313031); 
    if ((
nMonth == 2) && (nYear == 0)) 
     return 
29
    else 
     return 
aMonth[nMonth 1]; 
   } 

   function 
cambia(nCambiado){ 
    var 
nAno
    var 
nMes
    
with (document.frm){ 
     
nAno parseInt(ano.options[ano.selectedIndex].value); 
     switch (
nCambiado){ 
      case 
0
       
llenaMes(mesnAno); 
       break; 
      case 
1
       
nMes parseInt(mes.options[mes.selectedIndex].value); 
       
llenaDia(dianAnonMes
       break; 
      case 
2
       
nMes parseInt(mes.options[mes.selectedIndex].value); 
       
nDia parseInt(dia.options[dia.selectedIndex].value); 
       
res.value makeDateFormat(nDianMes 1nAno); 
       
cambiarImagen(res.value);
       break; 
     } 
    } 
   } 

   function 
llenaAno(oAno){ 
    var 
hoy = new Date(); 
    var 
ini 1998
    
addOpt(oAno0""""); 
    for (var 
ini<= hoy.getYear(); i++) 
     
addOpt(oAnoini 1String(i), String(i)); 
   } 

  function 
llenaMes(oMesnAno){ 
    var 
hoy = new Date(); 
    var 
nFin 11
    while (
oMes.length 0oMes.remove(0); 
    if (
nAno == hoy.getYear()) nFin hoy.getMonth(); 
    
addOpt(oMes0""""); 
    for (var 
nAno==1998?9:<= nFini++) 
     
addOpt(oMes1aMeses[i], String(i)); 
   }

   function 
llenaDia(oDianAnonMes){ 
    var 
hoy = new Date(); 
    var 
nFin lastDayOfMonth(nMes 1nAno); 
    while (
oDia.length 0oDia.remove(0); 
    if (
nAno == hoy.getYear() && nMes == hoy.getMonth()) nFin hoy.getDate(); 
    
addOpt(oDia0""""); 
    for (var 
1<= nFini++) 
     
addOpt(oDia1String(i), String(i)); 
   } 

function 
cambiarImagen(fecha) {
    var 
img=document.getElementById("imagen");
    
fecha=fecha.split("/");
    var 
oAno=fecha[2].substring(2); var oMes=fecha[1]; var oDia=fecha[0];
    
img.src=oAno+oMes+oDia+".jpg";
}

  
</script> 
</head> 
<body onload=" llenaAno(document.frm.ano)"> 
  <form name="frm"> 
   <table border="0"> 
    <tr> 
     <td align="right"> 
      Año: 
     </td> 
     <td> 
      <select name="ano" onchange="cambia(0)" style="width: 80"> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td align="right"> 
      Mes: 
     </td> 
     <td> 
      <select name="mes" onchange="cambia(1)" style="width: 80"> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td align="right"> 
      Día: 
     </td> 
     <td> 
      <select name="dia" onchange="cambia(2)" style="width: 80"> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td align="right"> 
      Fecha: 
     </td> 
     <td> 
      <input type="text" name="res" disabled> 
     </td> 
    </tr> 
   </table> 
  </form> 
<img id="imagen" />
</body> 
</html> 
Fijate cuando llamamos a cambiarImagen, en la funcion cambia cuando cambiamos el select del dia.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 24/08/2005, 11:46
Avatar de medinauta  
Fecha de Ingreso: diciembre-2002
Ubicación: Guayaquil
Mensajes: 159
Antigüedad: 21 años, 4 meses
Puntos: 0
Muy buenazo, solo quetambién me refería a que detecte la fecha actual y coloque esa imagen al cargar... :(
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 11:56.