Bonjour à tous

Sur le site que je viens de créer ci-dessous, j'ai utilisé le code du menu déroulant en CSS. Je m'aperçois au chargement de chaque page, que le menu déroulant se charge avant de disparaître une fois la page complétement chargée, comme si l'instruction <dt onclick="javascript:montre('smenu3');"> ne s'activait qu'une fois la page chargée.

Y-a-t-il une astuce pour faire en sorte que le menu ne se déploit que lorsque l'on clique dessus et non 1/2 sec au chargement de la page ?

Merci de vos conseils avisés.

URL : http://www.carolineperrin.fr
Modérateur
Bonjour,

oui, en plaçant...

<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>

... juste à la suite du menu. Smiley smile

Très beau site au passage. Smiley cligne
Salut

Merci de ta réponse et de ton compliment sur le site.

Sur cette page : http://www.comexis.fr/caroline/gb/about/caroline-perrin.html , j'ai plaçé le code JS juste après le menu (peut-être me suis-je trompé...). Si tu ouvres la page sous ie, tu verras que le pb demeure... Bon ce n'est pas grand chose mais esthétiquement ç'est un peu dommage...

Si le code est mal plaçé, peux-tu me copier-coller le code correct sur le forum ??

Merci de ton aide !
Brice.
Modérateur
arf... autant pour moi...

2ème essai Smiley lol

On laisse le script là où il était au départ mais par contre, on rajoute :

<script type="text/javascript">
<!--
var oId = document.getElementById('menu');
var oDd = oId.getElementsByTagName('dd');
var iI = oDd.length - 1;
for( iI; iI >= 0; iI-- ) oDd[iI].style.display = 'none';
//-->
</script>

à la suite du menu...

Si çà marche pas, je passe la main ! Smiley ravi
Modifié par koala64 (23 Jul 2006 - 16:12)
Merci pour vos messages, j'ai "attrapé" l'astuce au passage. Ca m'a été très utile.

J'ai une autre question à propos de ce genre de menu. je vais reprendre l'exemple du très joli site, si personne n'y voit d'inconvénient :

Quand on clique sur "création", on déplie un menu. Mais peut-on aussi faire apparaitre une page ?

J'ai essayé en rajoutant juste un lien : à la place du # j'ai mis un lien vers une page (sur l'élément dt):
il trouve bien ma page, mais il déplit tous les sous menus.
En fait, j'ai l'impression qu'il ne trouve pas le "id" pour savoir quel menu il doit laisser déplié.
Ce qui parait logique puisque, d'après le tuto, on déclare le "id" sur le dd...

Avez-vous une solution ? Smiley rolleyes

EDIT : J'ai ouvert un autre sujet pour ça.
Modifié par astree (31 Jul 2006 - 20:47)
j'ai le même probleme dés que je charge la page le menu ce recharge
même en modifiant le code comme indiqué sa ne marche toujours pas voici mon code:
 
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
var oId = document.getElementById('menu');

var oDd = oId.getElementsByTagName('dd');

var iI = oDd.length - 1;

for( iI; iI >= 0; iI-- ) oDd[iI].style.display = 'none';
//-->
</script>

pouvez vous me dire si la modif est au bonne endroit

merci
Modifié par pize (15 May 2007 - 16:27)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif