13-11-2007, 03:10 AM
Bonsoir,
Je réutilise ce message puisque mon nouveau problème est un peu du même ordre un peu plus bas dans le code de ma carte donc ...
Pour situer un peu:
Ma carte est un bête fond de carte affiché en background sur lequel sont affichées des repères (points), le plus souvent des liens dont les coordonnées (x,y) sont récupérées dans ma bdd.
Il y a donc des points pour figurer les villes et j'essaie de mettre une infobulle (tout css) sur ces points.
Mon code fonctionne parfaitement sur firefox mais bug gravement sur IE.
d'abord voilà le code:
Je réutilise ce message puisque mon nouveau problème est un peu du même ordre un peu plus bas dans le code de ma carte donc ...
Pour situer un peu:
Ma carte est un bête fond de carte affiché en background sur lequel sont affichées des repères (points), le plus souvent des liens dont les coordonnées (x,y) sont récupérées dans ma bdd.
Il y a donc des points pour figurer les villes et j'essaie de mettre une infobulle (tout css) sur ces points.
Mon code fonctionne parfaitement sur firefox mais bug gravement sur IE.
d'abord voilà le code:
Code PHP :
<?php
// le css
<style>
a.info {
position: absolute;
}
a.info span {
display: none;
}
a.info:hover {
background: none; /* correction d'un bug IE */
z-index: 500;
}
a.info:hover span {
display: inline;
width:200px;
height:260px;
background:#fdf7ed;
line-height:15px;
color: #717556;
padding: 5px;
border:1px dashed #bcbe92;
}
</style>
// le html (toutes les données sql sont bien récupérées avant)
<div class="calque3">
//là l'image lien
<a href="fiche_joueur.php"class="info">
<IMG STYLE="position:absolute;z-index:2;
TOP:<?php echo $y;?>px; LEFT:<?php echo $x;?>px;
WIDTH:2px; HEIGHT:2px"
SRC="images/carte/point.gif"alt="image ville" />
//là les caractéristiques de l'infobulle (première partie)
<span STYLE="position:absolute;top:<?php echo $y1;?>px;left:<?php echo $x1;?>px;">
//contenue de l'infobulle (je l'ai retiré pour plus de clarté il ne semble pas poser problème)
</span>
//là les caractéristiques de l'infobulle (deuxième partie)
<span STYLE="position:absolute;height:140px;text-align:center;top:<?php echo $y2;?>px;left:<?php echo $x2;?>px;">
//contenue de l'infobulle
</span>
</a>
</div>
voilà ce que ça donne à l'écran:
la flèche grise c'est le curseur de la souris.
A l'ouverture de la carte tout semble normal et tant qu'on ne survole pas de lien on peut aller partout rien ne se passe.
Quand on pointe un lien ça s'ouvre correctement et tout est bien placé.
Par contre:
Sur IE uniquement
premier problème:
quand on quitte l'infobulle elle se ferme mais l'image qu'il y a dedans elle reste affichée.
Et à la fin on se retrouve avec autant d'images sur la carte que de liens survolés.
de plus elle devient réactive et si on passe dessus l'infobulle s'ouvre à nouveau.
second problème:
une fois qu'on a ouvert puis refermé l'infobulle une fois, toute la zone qu'elle occupait (le fond blanc sur l'image donc) devient réactive et le reste, ouvrant l'infobulle à chaque fois qu'on y repasse.
Sur firefox tout se passe très bien
donc j'aimerais savoir si l'un / l'une d'entre vous voit un problème dans mon code ou connait un truc pour faire comprendre à Internet explorer qu'il doit tout masqué quand on ne lui demande rien.
Ou à défaut si quelqu'un aurait un exemple d'infobulle (si possible en css car javascript j'y connais rien) qui fonctionne correctement sur IE.
Pour ma part j'ai fais des dizaines de test de codes trouvés ici et là et n'ai rien trouvé qui convienne pour le moment.
voilà
merci.