PHP/JavaScript -Par défaut result non affiché

Résolu/Fermé
JJblow - 16 déc. 2009 à 16:43
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 16 déc. 2009 à 21:30
Bonjour,
voilà j'ai créé un script qui permet d'afficher des informations contenues dans ma base de données au passage sur du texte (lien), cependant, tout s'affiche alors que la souris n'est pas passée encore sur le lien.

Par défaut j'aimerais que les résultats restent cachés et n'apparaissent que lorsque la souris passe dessus.
Je ne comprends plus car je pense pourtant que le script est bon.

Voici mon script, si quelqu'un pouvait m'aider sa m'aiderait beaucoup:

while($data = mysql_fetch_array($req)) {
$pseudo = $data['pseudo'];
$infos = $data['infos'];
$distribution = $data['distribution'];
$result = '<div class="fichier">
      <a href="/profil.php?ID='.$data['ID'].'" id="logo">'.$data['pseudo'].'</a>
      <span id="bulle">'.
$pseudo.'<br>'.
$infos.'<br>'.
$distribution.'<br><img src="'.$data['avatar'].'" align="absmiddle" alt="Avatar" class="Img01" />
 
      </span>
    
    <script language="JavaScript">
     var img = window.document.getElementById(\'logo\');
     var span = window.document.getElementById(\'bulle\');
     
     img.onmouseover = function(){
        span.style.display = "block";
     }
     
     img.onmouseout = function(){
        span.style.display = "none";
     }
     
     
    </script>';
 
    } 

 
echo $result;


Voilà, donc je pense que le problème est dans le code JavaScript mais je ne vois pas.

Merci de votre aide.
Bonne journée à tous.
A voir également:

5 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 déc. 2009 à 17:07
il faut sortir le Javascript et le mettre dans des fonctions

et tu appelles tes fonctions par onmouseover et onmouse out dans la balise directement

ensuite je suppose que tu n'as qu'un seul résultat car sinon pb, tu ne peut pas avoir plusieurs fois le même id

donc si un suel résultat pas besoin de boucle while
mysql_fetch.... suffit


<head>
<script type="text/javascript" language="JavaScript">
function afficher(id){     
    var obj_span = window.document.getElementById(id); //evites d'utiliser pour tes variables des noms de balises spn img etc..
	obj_span.style.display = "block";
}
	  
function cacher(id){     
   var obj_span = window.document.getElementById('bulle'); 
	obj_span.style.display = "none";
 }  
 </script>
 </head>
 <body>
<?php
$data = mysql_fetch_array($req);
$pseudo = $data['pseudo'];
$infos = $data['infos'];
$distribution = $data['distribution'];
$result = '<div class="fichier">
      <a href="/profil.php?ID='.$data['ID'].'" id="logo" onmouseover="afficher(\'bulle\');" onmouseout="cacher(\'bulle\');">'.$data['pseudo'].'</a>
      <span id="bulle">'.
$pseudo.'<br>'.
$infos.'<br>'.
$distribution.'<br><img src="'.$data['avatar'].'" align="absmiddle" alt="Avatar" class="Img01" /> 
      </span>';
  
echo $result;

?>
<!-- appel fonction javascript cacher() en fin de script pour cacher le div -->
<script type="text/javascript" language="JavaScript">cacher('bulle');</script>

</body>
0
JJBlow Messages postés 44 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 6 novembre 2010 2
16 déc. 2009 à 17:59
Woaa, sa marche !!
Merci beaucoup beaucoup Alain_42.

Je te remercie bien car j'ai cherché pendant longtemps comment faire.

Je te souhaite de passer une excellente journée et aussi de bonne fêtes de fin d'années à venir.
0
JJBlow Messages postés 44 Date d'inscription jeudi 30 juillet 2009 Statut Membre Dernière intervention 6 novembre 2010 2
16 déc. 2009 à 19:34
Rebonjour,

alors voilà, ton aide Alain_42 m'a beaucoup aidé, cependant maintenant (oui je suis du genre à toujours améliorer ^^) comment maintenant faire en sorte pour ce qui s'affiche ai un fond derrière (pour ne pas que sa paraisse faire parti du reste du site en temps normal) ?

Voilà tout ^^, merci encore.
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
16 déc. 2009 à 20:47
he bien tu agit sur span par du css

<span style="background-color:#.......;"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
16 déc. 2009 à 21:30
ou tu rajoutes un script css dans la partie entre les balises <head></head>

<style type="text/css">
#bulle{
background-color:#..........;
//et tout autre propriété que tu veux
}
</style>
0