Probleme entre deux fonctions javascript

Fermé
Alex7 - 11 juil. 2008 à 15:22
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 11 juil. 2008 à 15:40
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 :)
A voir également:

2 réponses

Alkaaran Messages postés 285 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 3 novembre 2009 37
11 juil. 2008 à 15:39
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 juil. 2008 à 15:40
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