Probleme entre deux fonctions javascript

Bonjour,

Je vous explique mon problème, en fait j'ai un menu déroulant sur le coté en javascript, et un autre endroit ou tous mes partenaires défilent toujours grâce au javascript. (je récupère mes partenaire par du php). Jusque la tout va bien...

Le problème est que depuis que j'ai intégré ds la même page que mon menu les partenaires qui defilent, et bien mon menu n'est plus déroulant, les sous menus apparaissent sans qu'on ait cliqué sur le menu principal.
Çà fait a peu prés ça si vous voulez :

Menu1
Sous-Menu1.1
Sous-Menu1.2
Menu 2
Sous-Menu2.1
Sous-Menu2.2
........etc

Je pense qu'il doit y avoir un problème entre des fonctions javascript que j'importe, mais impossible de trouver ou !!!

Voici le code utilisé :
-------> script du menu
<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>

----> script des partenaires
<SCRIPT LANGUAGE="JavaScript">
<!--
var timeDelay = 3;
var Pix = new Array
("tableau ac ts les partenaires");
var howMany = Pix.length;
timeDelay *= 1000; //conversion en secondes
var PicCurrentNum = 0;
var PicCurrent = new Image();
PicCurrent.src = Pix[PicCurrentNum];
function startPix() {
setInterval("slideshow()", timeDelay);
}
function slideshow() {
PicCurrentNum++;
if (PicCurrentNum == howMany) {
PicCurrentNum = 0;
}
PicCurrent.src = Pix[PicCurrentNum];
document["ChangingPix"].src = PicCurrent.src;
}
// End -->
</script>

Et dans ma page principal mon body :
<body OnLoad="startPix();">

Voila qqch dans tout ca, fait buger mon menu ! Mais quoi ?!

Merci de votre aide :)
Configuration: Windows XP
Firefox 2.0.0.15

2 réponses

  1. Simplement :
    <body OnLoad="startPix();">
    et
    window.onload=montre; 
    sont en conflit...

    Enleve le
     OnLoad="startPix();" 
    de ton body

    Et modifie
    window.onload=montre; 
    par
    window.onload = function () {
    montre;
    startPix();
    }
    0
    1. Salut,

      <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>

      ----> script des partenaires
      <SCRIPT LANGUAGE="JavaScript">


      pourquoi ne mets tu pas les deux fonctions entre les mêmes balises <script

      mets:

      <script type="text/javascript" language="javascript">
      
      // tes deux fonctions
      
      </script>
      
      
      


      ensuite je pense que cette ligne window.onload=montre;

      lance la fonction montre ? alors il manque qq chose

      puisque ta fonction est function montre(id) {

      il te faut les parenthèses et l'id concerné

      window.onload=montre('id_.....');


      @lain
      0