Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2010, 04:06
AitorLopez
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años
Puntos: 6
Problema al combinar <marquee> con window.onload

Hola amigos, como ya he comentado en otro hilo, pongo aqui un problemilla que tengo.

En una hoja, tengo, por un lado, un codigo como este:

<marquee direction="up" scrollAmount="1" style="width:186px; height:124px"><p style="font: normal 12px Arial; color: #9d102d">Visite la pagina de: <a class="Navegar" href="http://www.jymblanco.igblasa.com/" target="_blank">Jose Antonio Blanco Alvarez</a></p><p style="font: normal 12px Arial; color: #9d102d">O si lo prefiere, puede visitar la pagina de: <a class="Navegar" href="http://www.instalacionesyreformasmartinez.igblasa.com/" target="_blank">José Martínez Torres</a></p><p style="font: normal 12px Arial; color: #9d102d">Si necesita una demolicion o rehabilitacion: <a class="Navegar" href="http://www.indevo.es/" target="_blank">Indevo.es</a></p></marquee>

Me muestra unos textos moviendose hacia arriba.

Y por otro lado, tengo un codigo como este:

<?php
$dia = 17;
$mes = 05;
$ano = 2010;
$hora = 22;
$minutos = 40;
$segundos = 30;
?>

<script type="text/javascript">
function crono(){
var dia = <?php echo $dia;?>, mes = <?php echo $mes;?>, anio = <?php echo $ano;?>, hora = <?php echo $hora;?>, minutos = <?php echo $minutos;?>, segundos = <?php echo $segundos;?> //aquí es donde has de establecer la fecha final. Recuerda que enero es el mes 0, así el 5 es junio.
var fechaFinal = new Date(anio,mes,dia,hora,minutos,segundos)

var hoy = new Date()
diferencia = hoy.getTime() - fechaFinal.getTime();

horas = diferencia/1000/60/60;
horasTotales = parseInt(horas)

minutosFaltan = horas - parseInt(horasTotales)
minutosFaltan2 = minutosFaltan*1000*60*60
minutosFaltan2 = minutosFaltan2/1000/60
minutosTotales = parseInt(minutosFaltan2)

segundosFaltan = minutosFaltan2 - parseInt(minutosFaltan2)
segundosFaltan2 = segundosFaltan*1000*60
segundosTotales = parseInt(segundosFaltan2/1000)

falta = "<div id='calContador'><div id='calCuerpo'>";

if(horasTotales < 10) {horasTotales = "0" + horasTotales;}
if(minutosTotales < 10) {minutosTotales = "0" + minutosTotales;}
if(segundosTotales < 10) {segundosTotales = "0" + segundosTotales;}

horasTxt = horasTotales + ":";
minutosTxt = minutosTotales + ":";
segundosTxt = segundosTotales;

if (Math.abs(diferencia) <= 900) {
contadorCompleto = falta + "</div></div>";
clearInterval(crono);
}
else
{
contadorCompleto = falta + horasTxt + minutosTxt + segundosTxt
setInterval("crono(),1000")
}
document.getElementById('contador_regresivo').inne rHTML = contadorCompleto;
}

window.onload=crono;
</script>


Lo que hace es que a partir de una hora que coge en php, muestra un reloj contando tiempo hacia delante, esto lo muestra en un div que se tiene que llamar 'contador_regresivo', y lo carga al final con el codigo window.onload=crono;

Bueno, pues poniendo estas dos cosas a la vez, el reloj cuenta bien, pero el texto que esta dentro de marquee no se le ve correr, aunque si que corre, es decir, si vas a otra pantalla y vuelves a la que estas, el texto ha corrido, pero no cambiar de pantalla, no se le ve correr. Vamos, que no funciona bien.

Imagino que tendrá algo que ver con mezclar la etiqueta marquee con el evento javascript window.onload, pero bueno, aqui ya me pierdo y por eso solicito vuestra ayuda.

Muchas Gracias.

P.D.: Por cierto, en Opera y Firefox, funciona bien. En IE8 mal.

Última edición por AitorLopez; 18/06/2010 a las 04:11