Probleme javascript php

Fermé
davlebio - 21 juin 2009 à 21:46
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 - 22 juin 2009 à 16:56
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 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 juin 2009 à 10:06
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
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 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
22 juin 2009 à 13:57
essayes en mettant:

=affiche(this.id);"


ou

="affiche('<?php echo $menu1; ?>');"
0
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 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 juin 2009 à 16:56
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