[Js] Bouger un calque par rapport à la position de la souris
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:
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:
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 ;)