11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous,

Voilà j'ai récupéré un petit script de compte à rebours que j'ai modifié à ma sauce. Il fonctionne parfaitement sous Firefox mais sous IE, il va directement au else final. Pourtant sec est supérieur à 0. IE me met aussi une erreur "Objet requis", ligne 53, caractère 3.

A la ligne 53 il y a une div, la toute première dans le body d'ailleurs, est-ce là le problème ? Il y aurait un conflit avec le document.getElementById ?

<div id="top">


Voici le code du compte à rebours plus bas dans la page. Merci d'avance Smiley cligne

<p id="block_compteur_p"></p>
                
<script type="text/javascript">
var Affiche = document.getElementById("block_compteur_p");
function Rebour() {
	var date1 = new Date();
	var date2 = new Date ("<?php echo ''.$mois.' '.$jour.' '.$heure.':'.$minute.':00 '.$annee.''; ?>");
	var sec = (date2 - date1) / 1000;
	var n = 24 * 3600;
	Affiche.innerHTML = "+ sec +";
	if (sec > 0)
	{
		j = Math.floor (sec / n);
		h = Math.floor ((sec - (j * n)) / 3600);
		mn = Math.floor ((sec - ((j * n + h * 3600))) / 60);
		sec = Math.floor (sec - ((j * n + h * 3600 + mn * 60)));
		
		if (j == 1)
		{
			Affiche.innerHTML = "<span>Prochain épisode dans</span><br />" + j +" jour "+ h +" h "+ mn +" min "+ sec + " s ";
		}
		else if (j == 0)
		{
			if (h == 0)
			{
				if (mn == 0)
				{
					Affiche.innerHTML = "<span>Prochain épisode dans</span><br />" + sec + " s ";
				}
				else
				{
					Affiche.innerHTML = "<span>Prochain épisode dans</span><br />" + mn +" min "+ sec + " s ";
				}
			}
			else
			{
				Affiche.innerHTML = "<span>Prochain épisode dans</span><br />" + h +" h "+ mn +" min "+ sec + " s ";
			}
		}
		else
		{
			Affiche.innerHTML = "<span>Prochain épisode dans</span><br />" + j +" jours "+ h +" h "+ mn +" min "+ sec + " s ";
		}
		window.status = "<span>Prochain épisode dans</span><br />" + j +" jours "+ h +" h "+ mn +" min "+ sec + " s ";
	}
	else
	{
		Affiche.innerHTML = "Episode en ligne";
	}
	tRebour=setTimeout ("Rebour();", 1000);
}
Rebour();
</script>

Modifié par Ben5back (24 Nov 2010 - 21:21)