Rechercher : dans
Par :

Changer overlib 'onmouseover' avec JavaScript

Dernière réponse le 19 mar 2008 à 17:30:12 gnomesgames, le 12 mar 2008 à 20:47:37 
 Signaler ce message aux modérateurs

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.

Powered by : The Wall Et Gain Brothers
Configuration: Windows Vista
Firefox 3.0

Meilleures réponses pour « Changer overlib 'onmouseover' avec JavaScript » dans :
Changer l'aspect du curseur en CSS VoirLa propriété cursor permet de changer l'aspect du curseur sur un élément d'une page web. Le client affichera automatiquement le curseur de son ordinateur qui correspond au type de curseur que vous aurez choisi. Exemples Liste des attributs...
Javascript - Modifier la hauteur (height) d'un élément HTML VoirPour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height". Pour cela vous pouvez y faire référence de la manière suivante : Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - L'objet Date VoirLes particularités de l'objet Date L'objet Date permet de travailler avec toutes les variables qui concernent les dates et la gestion du temps. Il s'agit d'un objet inclus de façon native dans Javascript, et que l'on peut toujours utiliser. La...

1

gnomesgames, le 13 mar 2008 à 23:26:18

Up !

Powered by : The Wall Et Gain Brothers

Répondre à gnomesgames

2

 gnomesgames, le 19 mar 2008 à 17:30:12

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 ;)

Powered by : The Wall Et Gain Brothers

Répondre à gnomesgames