Foros del Web » Programando para Internet » Javascript »

[Resuelto] Script: Contenido semestral

Estas en el tema de [Resuelto] Script: Contenido semestral en el foro de Javascript en Foros del Web. A ver si alguien me puede ayudar con esto: Necesito un script para mostrar un contenido (si es imágen + texto mejor, sino tan solo ...
  #1 (permalink)  
Antiguo 21/03/2003, 17:46
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
[Resuelto] Script: Contenido semestral

A ver si alguien me puede ayudar con esto:
Necesito un script para mostrar un contenido (si es imágen + texto mejor, sino tan solo uno o el otro) durante un par de meses y otro contenido el resto del año.
Por ejemplo,
de junio a noviembre, mostrar contenido A
de diciembre a mayo, mostrar contenido B

Gracias.
__________________
_____________________
Duchamp

Última edición por KarlanKas; 22/03/2003 a las 09:17
  #2 (permalink)  
Antiguo 22/03/2003, 06:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Prueba con esto:
Código PHP:

<html>
<
head>
<
title>Texto del título</title>
<
script>

texto=new Array();
imagen=new Array();
imagen[0]=new Image();
imagen[1]=new Image();
hoy=new Date();
mes=hoy.getMonth();
mes=Math.floor(mes/6);

//-------- TEXTOS ----------------------------------------
texto[0]="Hola a todos esto es el texto número 1... tralararalaa";
texto[1]="Ya queda menos para todo lo que es navidadad.adadad....."
//--------- IMAGENES ---------------------------------------
imagen[0].src="http://www.karlankas.net/transmutado.jpg"
imagen[1].src="http://www.karlankas.net/chufa2.jpg"
//----------------------------------------------------------

function inicio(){
document.getElementById("textos").innerHTML=texto[mes];
document.getElementById("imagenes").src=imagen[mes].src;
}

</script>
</head>
<body onload="inicio()">
<img id="imagenes">
<div id="textos">

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 22/03/2003, 07:23
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Gracias Mr.Abducido.
Lo que no me queda muy claro es lo de la fecha, así a primera vista veo que tomas la fecha actual y la divides por 6? es así?
... entonces, cómo le indico desde junio mostrar contenido A?


De cualquier manera, lo pruebo y luego te cuento.
__________________
_____________________
Duchamp

Última edición por duchamp; 22/03/2003 a las 07:27
  #4 (permalink)  
Antiguo 22/03/2003, 08:03
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
duchamp!

No veas como me alegra que me preguntes como funciona! Normalmente la gente lo copia y ni se preocupa por como funciona!

Lo que hago es tomar el mes actual:

hoy=new Date();//Creo una variable de fecha con la fecha de hoy.

mes=hoy.getMonth();//De la que extraigo el mes.

mes=Math.floor(mes/6);//Luego la divido entre seis y lo redondeo hacia abajo para que sea 0 ó 1 según sea inferior a 6 o superior a 6...

El 6 es el número del mes de julio (enero es el 0). Así consigo que la variable mes sea 1 ó 0 según sea de julio para arriba o de junio para abajo.

Y ya sólo queda crear un array con 2 elementos con el texto y otro con las imágenes. Según sea el mes pondrá el primero (el elemento 0) o el segundo (el elemento 1).

Pero lo he hecho mal!! No es de enero a junio!!!.... espera que lo rehago...

Código PHP:
<html>
<
head>
<
title>Texto del título</title>
<
script>

texto=new Array();
imagen=new Array();
imagen[0]=new Image();
imagen[1]=new Image();
hoy=new Date();
mes=hoy.getMonth();
mes=(mes>10||mes<5)?1:0;
//-------- TEXTOS ----------------------------------------
texto[0]="Texto A: Estamos de junio a noviembre.";
texto[1]="Texto B:Estamos de diciembre a mayo."
//--------- IMAGENES ---------------------------------------
imagen[0].src="http://www.karlankas.net/transmutado.jpg"
imagen[1].src="http://www.karlankas.net/chufa2.jpg"
//----------------------------------------------------------

function inicio(){
document.getElementById("textos").innerHTML=texto[mes];
document.getElementById("imagenes").src=imagen[mes].src;
}

</script>
</head>
<body onload="inicio()">
<img id="imagenes">
<div id="textos">

</body>
</html> 


Esto me pasa por no releer bien las preguntas. A ver si así..

No sé si me he explicado bien. Cualquier duda me la preguntas...

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 22/03/2003, 08:16
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Se agradece!
(me supongo que a veces la gente no insiste pidiendo explicaciones por temor a "molestar", pero para eso están los foros, no?)

Bueno, ahora está un poco más claro, pero ya que estamos en los detalles, podrás explicar esta línea

Cita:
mes=(mes>10||mes<5)?1:0;
la intuyo pero no del todo ...

Por si sirve, estoy intentando utilizar esto para un cliente que de junio a noviembre tiene un paquete turístico y de diciembre a mayo otro. Es cierto que podría actualizarlo manualmente, pero por diversos motivos prefiero armarlo de esta manera. Creo que este tipo de scripts son particularmente útiles (aunque no estoy muy seguro de la compatibilidad con diferentes Browsers).
__________________
_____________________
Duchamp
  #6 (permalink)  
Antiguo 22/03/2003, 09:00
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
La línea que preguntas es muy útil. Lo que se hace es dar valor a una variable según una comparación es cierta o no.

La sintaxis sería:
Código PHP:
variable=(comparación)?valor si TRUE:valor si FALSE

Vamos a cambiar un poco la línea para que resulte más fácil de entender:
Código PHP:
variable=(mes>10||mes<5)?1:0

Aqui estamos diciendo que si la comparación que está entre los paréntesis es cierta (que mes sea superior a 10 o inferior a 5) que variable valga 1 y si no lo es que variable valga 0.

es como utilizar un if y un else. Sería como poner:
Código PHP:
if (mes>10||mes<5){variable=1}
else{
variable=0

Como ves ahorra mucho código si lo único que se busca es poner un valor a una variable. Se usa mucho para cambiar el valor a una misma variable:
Código PHP:
function cambiar(){
variable=(variable=="visible")?"hidden":"visible";
elemento.style.visibility=variable;


Con esta función hacemos que cada vez que se le invoque se cambia la visibilidad de un elemento.

No sé si me he explicado muy bien. Si tienes alguna duda pregunta, por favor!

__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 22/03/2003, 09:11
Avatar de duchamp  
Fecha de Ingreso: enero-2002
Ubicación: Patagonia
Mensajes: 216
Antigüedad: 22 años, 3 meses
Puntos: 1
Pues más claro imposible!
Ya lo probaré luego ...
Muchas gracias!
__________________
_____________________
Duchamp
  #8 (permalink)  
Antiguo 22/03/2003, 09:16
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
De nada!

Y decirte que el script es compatible con MicoSoft Explorer a partir de la 4 y con "Nescafé"a partir de la versión 6.0.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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:39.