Bonjour à tous,

J'ai développé un script JavaScript dans une page XSL me permettant de déplacer un calque en fonction de la position de la souris. Mon script marche trés bien sous FireFox mais pas sous IE. Sous IE, mon calque reste dans un coin et ne prend pas en compte le déplacement de la souris.

Voici mon script Js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<script language="JavaScript">
<![CDATA[
 
// Fonction de création des listeners de position de la souris et affichage du calque
function montreDesc() {
	if(document.all) {
		window.attachEvent('onmousemove', mouvement)
	} else
		window.addEventListener('mousemove', mouvement , false)
	document.getElementById('calqueDesc').style.visibility = "visible";
}
 
// Fonction effectuant le mouvement du calque par rapport à la souris
function mouvement(e) {
	alert("Entrée");
	x = (navigator.appName=="Netscape") ? e.pageX : event.x + document.body.scrollLeft;
	y = (navigator.appName=="Netscape") ? e.pageY : event.y + document.body.scrollTop;
	alert("Passage");
	document.getElementById('calqueDesc').style.left = x + 10 + 'px';
	document.getElementById('calqueDesc').style.top = y + 20 + 'px';
}
 
// Fonction de destruction des listeners de position de la souris et masquage du calque
function cacheDesc() {
	if(document.all)
		window.detachEvent('onmousemove', mouvement);
	else
		window.removeEventListener('mousemove', mouvement , false);
	document.getElementById('calqueDesc').style.visibility = "hidden";
}
 
]]>
</script>
Pour informations, les alert("Entrée") et alert("Passage") ne s'affichent pas.

et la partie l'utilisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<td class="lien" onmouseout="this.className='tdHors'; cacheDesc()">
	<xsl:attribute name="onmouseover">
		this.className='tdDessus'; document.getElementById('calqueDesc').innerHTML = '<xsl:value-of select="@description" />'; montreDesc()
	</xsl:attribute>
	<a target="_blank">
		<xsl:attribute name="href">
			<xsl:value-of select="@url" />
		</xsl:attribute>
		<xsl:value-of select="@titre" />
	</a>
</td>
Pourriez-vous me donner un petit coup de main ?

Merci d'avance