Synchroniser les éléments JS d'une page web

Fermé
popol_hoang - 15 août 2007 à 19:43
 paul - 18 août 2007 à 08:54
Bonjour, je souhaite connaitre l'astuce pour synchroniser les js intégrés dans la page web. J'ai intégré (date, heure, menu ) par les appels des fichiers JS. Je constate que tous les éléments JS n'affichent pas synchronnement (avec un peu de retard pour les éléments JS).

Merci de votre conseils

Paul
A voir également:

1 réponse

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
16 août 2007 à 20:24
salut,

qu'est ce que tu veux dire ?
tu voudrais que le premier affichage se fasse d'un coup ?

si c'est ça dans ton code tu peux essayer de commencer ton code en masquant les balises qui seront visées par JS, ensuite tes scripts s'exécutent (il doit insérer date et heure dans la balise, mettre en place le menu etc...) et au final tu affiches tous les éléments qui ont été affectés pas JS.
0
<div id="logo" style="height:100px;display:block;">
<p id="clock"> <script language="JavaScript" type="text/javascript" src="js/clock.js"> </script> </p>
<img src="images/logo_267_58.png" id="logo" align = "left" alt="titre logo"/>
</div>

Voici un extrait de mon code.

1- Si j'exécute ce code, la date, l'heure (clock.js) s'affiche avec un peu de retard par rapport aux autres éléments de la page.

2- Si je recopie le code du fichier clock.js puis inséré dans les balises <p> et </p>, l'affichage est synchrone c'est à dire tout à la fois. Mais c'est lourd de voir tous les codes apparaissent dans une page.


J'opte la solution 1, mais je ne sais pas comment éviter le temps de retard lors de l'affichage.

Merci

Paul
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
17 août 2007 à 10:37
salut,

ah oui d'accord…

est-ce que tu as essayé en incluant ton JS dans le <head> puis en faisant un appel de fonction depuis le paragraphe ?

ça devrait charger le script avant d'attaquer la page et tu n'auras pas le script au milieu du html.
0
paul > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
17 août 2007 à 10:57
J'ai modifié comme suivant, dis moi si c'etait correct car aucune amélioration.
<head>
<script language="JavaScript" type="text/javascript" src="js/clock.js"> </script>
</head>


<div id="logo" style="height:100px;display:block;">
<p id="clock" style="display:block;"> <script type="text/javascript"> onload=goforit </script></p>
<img src="images/logo_267_58.png" id="logo" align = "left" alt="titre logo"/>
</div>

Merci
Paul
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
17 août 2007 à 12:04
ben dis donc, je suis pas rapide à la réflexion , moi...
je sais pas pourquoi je veux te faire appeler le scrip depuis <p> !

je pense à un script de ce genre qui serait inclus dans le <head>.
function printDate()
{
	today = new Date();
	
	lmt = document.getElementById("date-jour");
	lmt.contentText = today.getDate()+"/"+(today.getMonth()+1)+"/"+(today.getYear()+1900);
	
}

if (document.getElementById && document.getElementsByTagName)
{

	if(window.addEventListener)
	{
		window.addEventListener('load', printDate, false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent('onLoad', printDate);
	}

}

avec bien sûr dans le document :
<p id="date-jour"></p>

le script est chargé en même temps que l'entête et exécuté au chargement de la page. ça devrait s'afficher comme si la date était codée en dur.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
17 août 2007 à 13:29
re,

le code donné ci-dessus ne fonctionne pas sous IE, voici une démo corrigée.
0