Probleme javascript php

davlebio -  
dodoecchi Messages postés 480 Statut Membre -
Bonjour,
j'ai un problème d'affichage avec un script javascript et php le mouseover ne fonctionne pas je joins les fichiers
merci de votre aide
fichier php :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Menu vertical déroulant vers la droite</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
<?php

//ici les parametres pour la connexion
$host="sql.free.fr"; $base="mabase"; $passe="monmotdepasse";
//on effectue la connexion
@mysql_connect("$host","$base","$passe");
//Selection de la base de données qui porte le meme nom que votre login
$select_base=@mysql_selectdb("$base");
?>
<div id="menu">
<?php
$compt=1;
$requete_section=mysql_query("select * from section order by position_section");
while ($row=mysql_fetch_array($requete_section))
{
$menu1="menu".$compt;
$sous1="sousmenu".$compt;
?>
<div class="menu" id="<?php echo $menu1; ?>" onmouseover="affiche(this)">
<?php
echo"<a href=\"#\">".$row["nom"]."</a>";
$requete_session=mysql_query("select * from session where section=".$row["id"]." and visible=1 order by position_page");
$compte=mysql_num_rows($requete_session);

if ($compte="0") echo "";
else{
?>
<div class="sousmenu" id="<?php echo $sous1; ?>" style="display:none" onmouseout="affiche(this)">
<?php

while ($row_session=mysql_fetch_array($requete_session))
{

echo"<div><a href=\"#\">".$row_session["nom"]."</a></div>";
}
echo"</div>";
}
echo"</div>";

$compt=$compt+1;
}
?>

</div>

<div id="content">
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
</div>

</body>
</html>

fichier javascript
function affiche(obj){
var id = obj.id;

for(var i = 1; i <= 2; i++){
document.getElementById('sousmenu'+i).style.display = "none";
}

if(document.getElementById('sous'+id)){
document.getElementById('sous'+id).style.display = "block";
}
}
A voir également:

3 réponses

dodoecchi Messages postés 480 Statut Membre 29
 
si tu veux qu'on t'aide sur du XHTML / Javascript
va falloir nous donner le XHTML et du javascript en question
...pas du php

Donne moi une page de résultat et je pourrais faire quelque chose
parce que moi j'ai pas ta base de données ici

Dorian
0
davlebio
 
voila le fichier en php
<head>
<title>Menu vertical déroulant vers la droite</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
<div id="menu">
<div class="menu" id="menu1" onmouseover="affiche(this)">

<a href="#">Accueil</a><div class="sousmenu" id="sousmenu1" style="display:none" onmouseout="affiche('menu1');">
</div></div> <div class="menu" id="menu2" onmouseover="affiche(this)">
<a href="#">La mairie</a><div class="sousmenu" id="sousmenu2" style="display:none" onmouseout="affiche('menu2');">
<div><a href="#">Le conseil municipal</a></div><div><a href="#">Les commissions</a></div><div><a href="#">Les syndicats</a></div><div><a href="#">Les comptes rendus</a></div><div><a href="#">Le Lien</a></div><div><a href="#">Démarche administrative</a></div></div></div> <div class="menu" id="menu3" onmouseover="affiche(this)">
<a href="#">La Commune</a><div class="sousmenu" id="sousmenu3" style="display:none" onmouseout="affiche('menu3');">

<div><a href="#">présentation</a></div><div><a href="#">situation</a></div><div><a href="#">Histoire</a></div></div></div> <div class="menu" id="menu4" onmouseover="affiche(this)">
<a href="#">Activités</a><div class="sousmenu" id="sousmenu4" style="display:none" onmouseout="affiche('menu4');">
<div><a href="#">les artisans</a></div><div><a href="#">Les associations</a></div><div><a href="#">Les commerçants</a></div></div></div> <div class="menu" id="menu5" onmouseover="affiche(this)">
<a href="#">Actualités</a><div class="sousmenu" id="sousmenu5" style="display:none" onmouseout="affiche('menu5');">
<div><a href="#">Actualités</a></div></div></div> <div class="menu" id="menu6" onmouseover="affiche(this)">

<a href="#">Agenda </a><div class="sousmenu" id="sousmenu6" style="display:none" onmouseout="affiche('menu6');">
<div><a href="#">Agenda 2009</a></div></div></div> <div class="menu" id="menu7" onmouseover="affiche(this)">
<a href="#">Salle polyvalente</a><div class="sousmenu" id="sousmenu7" style="display:none" onmouseout="affiche('menu7');">
<div><a href="#">Règlement interieur</a></div><div><a href="#">Tarifs </a></div><div><a href="#">Plan</a></div></div></div>
</div>

<div id="content">
Ici le site<br />

Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />

Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
Ici le site<br />
</div>

</body>
</html>
0
Alain_42 Messages postés 5413 Statut Membre 894
 
essayes en mettant:

=affiche(this.id);"


ou

="affiche('<?php echo $menu1; ?>');"
0
davlebio
 
cela ne fonctionne pas !!!

le onmouseover="affiche(this)" fonctionne mais pas le onmouseout

mais merci quand même pour la réponse
0
dodoecchi Messages postés 480 Statut Membre 29
 
peut être parce que le onmouseover est sur un div et que le onmouseout est sur les liens qui sont dans le div. donc peut être que l'évenement onmouseover du div bloque le onmouseout du lien

je remarque quand même que ton menu tu le fais d'une manière bizarre
0