Java Script de fecha rotativa

Hola, tengo una página web de venta de relojes y quiero meter un script de texto y fecha en el body de mi web, con el día, mes, y año rotativo, que valla cambiando automático al día siguiente, mes, y año, esto seria solo para ofertas puntales como navidad, reyes, algunas ofertas puntuales de ultima hora, etc... Pongo un ejemplo de lo que busco, cuando el usuario/s entre en mi página que vean en ella... Hoy día xx mes xxx año xxxx y hasta el día xx mes xxx y año xxxx por la compra de un reloj marca xxxxx tienen un descuento del xxxx (aquí algo de texto xxxx) Atentamente: (mi nombre) al día siguiente cualquier otro usuario que entre vera lo mismo pero con las fechas correspondientes al día mes y año en curso este script debe de tener la opción de ser manejado y modificado de texto cuantas veces quiera por parte mía, o sea que no seria un script que se quedara fijo en mi web o al menos eso pienso yo, por que si se quedara fijo y hoy por ejemplo es navidad día 24 de diciembre del 2007 y un usuario entra en mi página el 15 de enero del 2008 y sigue viendo la oferta de navidad del año 2007 queda fatal, ya digo que el script debe de cambiar todas las fechas al día actual en curso y que no se quede fijo n mi web o con alguna opción para ponerlo en invisible pasado las fechas descritas u ofertas puntuales, no se si me he explicado.
Un saludo.
Atentamente:Francisco

5 Respuestas

Respuesta
1
Si, te has explicado muy bien.
Yo voy a suponer que tu página está diseñada con un lenguaje de servidor, en mi caso yo te voy a explicar como se haría en Java.
Hay varias maneras de hacerlo, la mejor es que en la clase Java que te envía a esa página (es decir a esa jsp), pongas una comprobación de en que fecha estamos, y si estamos entre las fechas en las que tu quieres mostrar la oferta pues que cargue la fecha actual. Esto se hace con la clase Date. La verdad es que para explicarte esto tendría que saber que tecnologías estas usando y si estas usando Java pues si lo estas haciendo con Servlet o con struts... Ya te digo no es complicado pero habría que saber que estas usando.
La otra manera es mediante JavaScript. Tendrías una capa oculta con el mensaje a mostrar. Y mediante JavaScript pues comprobarías si estas entre las fechas deseadas y si es así pues poner la capa visible. Las ventajas de esto es que no tienes que usar ninguna tecnología de servidor, y la desvantaja es que al ser un lenguaje que se ejecuta en la maquina del cliente pues te arrisgas a que si un cliente no tiene activado el JavaScript pues no va a ver tu oferta.
Lo hagas como lo hagas yo te puedo orientar pero me gustaría saber un poco más sobre que tecnologías estas usando para explicarte un poco mejor que es lo que tienes que hacer.
Hola, yo no entiendo nada de programación, te puedo decir que mi empresa de hosting es:http://www.evalice.com/hosting.php
Y con ellos tengo contratado un plan profesional (en el link que te envío viene las condiciones del plan profesional) ya me dices..
Un saludo.
Francisco
Para no complicarte te recomiendo que lo hagas con javascript. Por la web hay infinidad de manuales y script ya hecho. Una de estas web es www.mundojavascript.com
No es difícil hacerlo. Mirate algún manual y antes de hacer lo que quieres puedes hacer algunos ejemplos. Te recomiendo que uses Dreamweaver o algún programa de diseño web ya que tiene ayuda de autocompletar y puede ayudarte bastante.
Lo del hosting no importa porque todos permiten javascript ya que es un lenguaje de lado del cliente y no del servidor.
Aun así es mucho mejor hacerlo con algún lenguaje de programación porque el usuario que este visitando tu página no verá el código con las ofertas o con los días que tienes una oferta.
Si te aventuras un poco más también puedes hacerlo con php que la empresa de hosting creo que lo permite. También hay muchos manuales y no es difícil.
Respuesta
1
Lo que debes hacer es eventos que te permitan presentar las p`romociones, hay tu puedes controlar. El JavaScript son programas pequeños que te cumplen funciones, más no lo puedes controlar tu, debes hacer que este llame a eventos previamente programados, es una idea.
¿Podrías detallar un poco más cuales serian esos eventos acoplados a mi consulta? Unas ideas o consejos serian bien recibidos, Gracias
Atentamente:Francisco
Por ejemplo tu puedes crear una tabla eventos (base de datos), donde tu script consulte según la fecha obtenga el evento y consulte las promociones que ese evento requiere (navidad) puedes tener varias promociones(tabla que hace referencia a un evento) relación uno a muchos, es decir un evento puede tener varias promociones o uno a uno, depende del análisis que le hagas.
Suerte
Respuesta
1
Para ello debes utilizar la clase Date.
1.- Crea las variables globales con la información general:
var fechaActual = new Date();
var fechaFin = new Date(2008, 0, 1); Los parametros son año, mes y dia. Ten en cuenta que Enero = 0.
2.- Crea el texto del anuncio condicionado a que la fecha de fin sea mayor que la actual:
if (fechaActual<fechaFin) {
...
return "texto a colocar"
}
Para montar el texto utiliza las funciones:
- fecha.getDate(): Dia de la semana
- fecha.getMonth()+1: Mes, Enero=0
- fecha.getFullYear(): Año en 4 digitos.
De forma simple puede ser:
var fechaActual = new Date();
var fechaFin = new Date(2008, 0, 1); // Enero=0
var textoOferta = "por la compra de un reloj marca xxxxx tienen un descuento del xxxx (aqui algo de texto xxxx) Atte: (mi nombre)";
function textoOferta() {
if (fechaActual<fechaFin) {
var textoFechaActual = "hoy dia " + fechaActual.getDate() + " mes " + fechaActual.getMonth() + " año " + fechaActual.getFullYear();
var textoFechaFin = " y hasta el dia " + fechaFin.getDate() + " mes " + fechaFin.getMonth() + " y año " + fechaFin.getFullYear();
return textoFechaActual + textoFechaFin + textoOferta;
} else {
return "";
}
}
Se puede mejorar poniendo el nombre del mes en vez del numero.
Respuesta
1
Bien, tal y como yo lo veo, la forma más eficiente es hacer un pequeño servlet que verifique la hora y fecha del sistema y a continuación se meta en una base de datos, verifique que para esa fecha hay información (descuentos, mensajes, etc) y a continuación, muestre al cliente toda esa información. Es bastante sencillo y eficiente y no te tendrás que preocupar de que día u hora acceden a tu página, sino de tener actualizada la base de datos (que puede ser un fichero excel) para que tenga la información relacionada con ese día.
Respuesta
1
No me comentas el nivel de conocimientos de Javascript que tienes ni si conoces algún lenguaje de programación para la web. Entiendo, por lo que me comentas que tu web es simplemente HTML y javascript, por lo que la gestión de ofertas nuevas y demás las debes de hacer a mano, modificando uno o varios ficheros HTML o JS.
Te comento esto porque estas operaciones, en sitios web profesionales, generalmente se hace usando un lenguaje para que se ejecuta en el servidor (PHP, JAVA, ASP... etc) puesto que Javascript es un lenguaje que se ejecuta en el cliente y no se garantiza que esté activado o sea compatible 100% con todos los navegadores.
En cualquier caso es posible hacer lo que dices y no seria demasiado complejo. Te comento una solución.
Supongamos una página HTML con un texto :
<div id="oferta" style="" >
¿Hasta el día XX de Xxxxx de XXXX puedes conseguir este estupendo XXXX modelo XXX por XX? .
<img src="imagen.jpg" />
</div>
Como ves es una capa (DIV) a la que se le ha dado un ID (debe de ser único en toda la página) y donde pones la oferta.
Si lo que quieres es que la capa se oculte en una fecha puedes hacer un javascript como este :
<script>
function ocultaCapa() {
var diaDeHoy = new Date();
var diaDeFinOferta = new Date(2007,10,30);
// Fin de oferta 30 Oct 2007
if (diaDeHoy > diaDeFinOferta) {
var capa = document.getElementById('oferta');
capa.style.display="none";
}
}
</script>
Con esto si la fecha de hoy es superior a la oferta de fin de fecha basta para ocultar la capa para que no se muestre.
La función "ocultaCapa" la invocas en el onLoad del body y listo.
Puedes "complicar" un poco el código para hacer que la función pueda llamarse pasándole la fecha fin como argumento o incluso que se saque "leyendo" el contenido de la capa y siguiendo un patrón de búsqueda... pero creo que seria complicarse demasiado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas