Changer overlib 'onmouseover' avec JavaScript

Résolu/Fermé
gnomesgames Messages postés 84 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 18 octobre 2008 - 12 mars 2008 à 20:47
gnomesgames Messages postés 84 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 18 octobre 2008 - 19 mars 2008 à 17:30
Bonjour,


Je programme un jeu en ligne genre Ogame/Travian (c'est plus pour m'éclater qu'autre chose hein , je n'ai pas d'énormes ambition ;) ) .
Dans ce cadre j'ai programmé une carte en php , en gros c'est une grille dont le contenu varie en fonction des 'territoire' visionnés.

Pour alléger le travail du serveur je l'ai passé en JavaScript avec des requête "Httprequest" pour récupérer les information et compléter les attribus des différente cases ('src' de l'image contenu dans la case etc...)

Pour les images tout ce passe bien , les src sont remplacé , et les images attendu s'affichent , mais pour Overlib ça ne marche pas !

J'utilise Overlib pour afficher une bulle avec les coordonnées de la case et sont statu (abandonné , conquis par "x"..) au survol de la souris , et aussi pour afficher un menu quand l'utilisateur clique sur une case (le contenu du menu varie en fonction de la case cliqué)

Voici le code d'une div non chargé dans ma page php :

PHP :

echo
"
	<div id='".($x*10000+$y+1000)."' onmouseover=\"return overlib('<center>$x x $y</center>',WIDTH, 60)\" onclick=\"\" onmouseout=\"nd()\" class='visible' style='position: absolute; top: ".(120+$decaly)."px; right: 50%; margin-right:".(233-$decalx)."px;'>
		<img id='".($x*10000+$y)."' src='images/map_0.png' BORDER='0'></img>
	</div>
";



Quand je fait une tentative pour mettre à jour le contenu de 'onmouseover' comme ceci :

JAVASCRIPT :

var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("donnee")
if(items)
{
	document.getElementById(posx*10000+posy+1000).onmouseover="return overlib('"+posx+" x "+posy+" ("+items.item(3).firstChild.data+")<br>"+items.item(4).firstChild.data+"',WIDTH, 60)";

	document.getElementById(posx*10000+posy+1000).onclick="return overlib('"+option+"',STICKY,CAPTION,'"+posx+"&nbsp;x&nbsp;"+posy+"<br>"+items.item(4).firstChild.data+"',CENTER,WIDTH, 200,HEIGHT,50,NOCLOSE)";
}


Et bien le texte au survol n'apparait plus et la partie onclick ne marche pas non plus :( , cela ne vient pas des données récupéré vu que ça ne marche pas non plus en essayant de mettre un texte simple dans la bulle.

Merci d'avance.
A voir également:

2 réponses

gnomesgames Messages postés 84 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 18 octobre 2008 17
19 mars 2008 à 17:30
Solution :

Et bien il suffisait de ne pas mettre la fonction entre " " mais plutot faire :

document.getElementById(posx*7+posy).onmouseover=function() { overlib(posx+" x "+posy+" ("+items.item(3).firstChild.data+")<br>"+items.item(4).firstChild.data,WIDTH, 60);}

Voila ;)
1
gnomesgames Messages postés 84 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 18 octobre 2008 17
13 mars 2008 à 23:26
Up !
0