[Javascript] Mon chrono ne fonctionne pas

Résolu
Dédé86 Messages postés 690 Statut Membre -  
Dédé86 Messages postés 690 Statut Membre -
Bonjour

Je désire afficher le nombre de secondes sur une page internet. Je crois que le problème vient du fait que j'utilise window.document.write pour afficher le nombre de secondes. Comment dois-je faire .

Merci d'avance.

Voici mon code.

<html>
		<head>
			<title>Exple</title>
			<SCRIPT Language="Javascript">
					
				function Timer() 
				{
					var CompteArebours = new Date();
	
					window.document.write = CompteArebours.getSeconds();
					
					 setTimeout ("Timer()",1000);
					
				}
				
			</SCRIPT>
		</head>
	<body>
		<script type="text/Javascript">
			Timer();
		
		</script>		
	
	</body>
	
</html>

A voir également:

7 réponses

Utilisateur anonyme
 
Salut!

Ton code fonctionne, mais le problème vient du fait qu'au premier appel de ta fonction "Timer()", tu écrases le code de ta page entière.

Tu ne dois pas écrire directement sur ta page, mais plutôt dans un div, un span ou un autre élément.

Teste avec le code ci-dessous:

<html>
	<head>
		<title>Exple</title>
		<script type="text/javascript" language="Javascript">
				
			function Timer(){
				var CompteArebours = new Date();
				document.getElementsByName('clock')[0].innerHTML = CompteArebours.getSeconds();
				setTimeout ("Timer()",1000);					
			}				
		</script>
	</head>
	<body>
		<div id="clock" name="clock"></div>
		<script type="text/Javascript">
			Timer();		
		</script>	
	</body>	
</html>



;-)
HackTrack
2
Utilisateur anonyme
 
Re-Salut!

En fait .innerHTML ne remplace pas document.write: le premier est un attribut de tag HTML relatif à un tag spécifique tandis que le second est une fonction agissant sur le document entier.

document.write: comme son nom l'indique, va écrire directement sur le document, remplaçant par là son contenu, ce qui a pour effet de remplacer le code de la page par celui que tu fourni à la méthode write. En remplaçant le code de la page, le script disparaît et cesse d'être exécuté. C'est pour cela que ton script n'était pas exécuté.

.innerHTML: attribut de certains tags HTML qui permet de connaître le contenu HTML du tag (ou de fixer celui-ci).
1
Dédé86 Messages postés 690 Statut Membre 208
 
Re Bonjour

Je crois savoir pourquoi mon code de marche pas. A cause window.document.write. Il est en lecture seul et il est donc impossible de le modifier. Or je veux afficher le nombre de secondes toutes les secondes. Comment puis-je faire svp ?
0
Dédé86 Messages postés 690 Statut Membre 208
 
Merci beaucoup, je constate que ça marche comme sur des roulettes, mais est-ce que tu pourrais m'expliquer cette ligne du code :

document.getElementsByName('clock')[0].innerHTML = CompteArebours.getSeconds();

document.getElementsByName('clock')[0] //on retourne un tableau d'objet ayant clock définit dans la propriété name

mais je ne comprends pas le .innerHTML

Je te remercie d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JC
 
innerHTLH remplace document.write_ ça permet d'écrire à l'écran mais sans effacer tout ce qui avait été écrit sur la page préalablement.

Regarder
http://www.huntingground.freeserve.co.uk/main/mainfram.htm?../imagery/img_thumbs.htm
0
Dédé86 Messages postés 690 Statut Membre 208
 
D'accord j'ai compris le truc.

Merci

Au revoir
0
Dédé86 Messages postés 690 Statut Membre 208
 
Merci pour ces précisions.

Cela m'a bien aidé.

Au revoir.
0