Ayuda con Java Script URGENTE

Hola, a todos espero puedan ayudarme, estoy diseñando un sitio web y mi idea es que en mi sitio web aparezca una fecha con un mensaje adicional ya precargado en el diseño del mismo.
Por ejemplo Lunes 24 de Mayo del 2010 ( Día del Lápiz ) o algún otro mensaje similar, así por cada día que quiera establecerlo. Ahora ¿Es posible? ¿O es muy complicado? ¿Me podrían orientar o ayudar? Gracias y espero su respuesta.

1 respuesta

Respuesta
1
A ver qué te parece esto:

<html>
<head>
<script>
var diasEspeciales = new Array();
function defineDiasEspeciales(){
diasEspeciales[0] = {fecha:'25-5-2010', mensaje:'Día de la marmota', imagen:'img/marmota.gif'};
diasEspeciales[1] = {fecha:'26-5-2010', mensaje:'Día del pez globo', imagen:'img/pezglobo.gif'};
}
function compruebaDiaEspecial(){
var mensajeImagen;
var currentTime = new Date();
var d = currentTime.getDate();
var m = currentTime.getMonth() + 1;
var y = currentTime.getFullYear();
var fechaCompuesta= d + "-" + m + "-" + y; 
var diaEspecial, diaEspecialResultado;
var mensaje = "", imagen="";
for (i=0; diasEspeciales; i++){
diaEspecial = diasEspeciales;
if (diaEspecial.fecha==fechaCompuesta){
diaEspecialResultado = diaEspecial;
break;
}
}
return diaEspecialResultado;
}
var dayArray = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
var mesArray = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
function escribeFecha() {
var currentTime = new Date();
var d = currentTime.getDate();
var m = currentTime.getMonth();
var y = currentTime.getFullYear();
var fechaCompuesta = "";
var diaSemana = dayArray[currentTime.getDay()];
var mes = mesArray[m];
fechaCompuesta = diaSemana + ", " + d + " de " + mes + " de " + y;
var diaEspecial = compruebaDiaEspecial();
if (diaEspecial){
fechaCompuesta += " (" + diaEspecial.mensaje + ") <img src='" +  diaEspecial.imagen + "'/>";
}
document.getElementById("fecha").innerHTML = fechaCompuesta;
}
</script>
</head>
<body onload="defineDiasEspeciales();escribeFecha();">
<span id="fecha"></span>
</body>
</html>

He puesto código para que puedas incluso meter una imagen que esté relacionada con el día (tipo google). El código es mejorable, pero espero que te sirva como base. Si tienes alguna duda me lo dices.
Hola, gracias por tu ayuda, sin embargo cuando intenté probar el script la PC se vuelve demasiado lenta y aparecen mensajes si deseo cancelar la carga del script, tanto en firefox como en google, y de hecho por más que le de continuar y continuar, nunca lo ejecuta.
Lo puse en www.librerialarotonda.com.ar/default.htm
¿Habré hecho algo mal? Gracias.
De acuerdo. No me acordaba que la mierda de editor de todoexpertos equivoca parte del código cuando metes "[" + i + "]". Voy a evitar poner estos caracteres:

<html>
<head>
<script> 
var diasEspeciales = new Array(); 
function defineDiasEspeciales(){ 
diasEspeciales[0] = {fecha:'25-5-2010', mensaje:'Día de la marmota', imagen:'img/marmota.gif'}; 
diasEspeciales[1] = {fecha:'26-5-2010', mensaje:'Día del pez globo', imagen:'img/pezglobo.gif'}; 

function compruebaDiaEspecial(){ 
var mensajeImagen; 
var currentTime = new Date(); 
var d = currentTime.getDate(); 
var m = currentTime.getMonth() + 1; 
var y = currentTime.getFullYear(); 
var fechaCompuesta= d + "-" + m + "-" + y;  
var diaEspecial, diaEspecialResultado; 
var mensaje = "", imagen=""; 
for (ix=0; diasEspeciales[ix]; ix++){ 
diaEspecial = diasEspeciales[ix]; 
if (diaEspecial.fecha==fechaCompuesta){ 
diaEspecialResultado = diaEspecial; 
break; 


return diaEspecialResultado; 

var dayArray = new Array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'); 
var mesArray = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'); 
function escribeFecha() { 
var currentTime = new Date(); 
var d = currentTime.getDate(); 
var m = currentTime.getMonth(); 
var y = currentTime.getFullYear(); 
var fechaCompuesta = ""; 
var diaSemana = dayArray[currentTime.getDay()]; 
var mes = mesArray[m]; 
fechaCompuesta = diaSemana + ", " + d + " de " + mes + " de " + y; 
var diaEspecial = compruebaDiaEspecial(); 
if (diaEspecial){ 
fechaCompuesta += " (" + diaEspecial.mensaje + ") <img src='" +  diaEspecial.imagen + "'/>"; 

document.getElementById("fecha").innerHTML = fechaCompuesta; 

</script>
</head>
<body onload="defineDiasEspeciales();escribeFecha();">
<span id="fecha"></span> 
</body>
</html>

Prueba ahora.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas