meta données pour cette page
<html>
<head>
<title>
Exemple HTML5 la position de la souris modifie une animation
</title>
<link href="../regles_css/mon_fichier.css" rel="stylesheet" type="text/css">
</head>
<body>
<img id=imageAnimation src="01.jpg" width="512" height="341" alt=""/>
<div id="coords"></div>
</body>
<script type="text/javascript">
var elmids = ['imageAnimation']; // l'identité de l'élément qui sera survolé par la souris
var x, y = 0; // variables qui contiendront les coordonnées
var rougenoir = 132;
// Trouver les coordonnées X et Y de l'élément
function getXYpos(elm) {
x = elm.offsetLeft; // trouve le décalage en X de l'élément
y = elm.offsetTop; // trouve le décalage en X de l'élément
elm = elm.offsetParent; // stocker la valeur de offsetParent dans elm (pour l'alignement)
// vérifie en boucle si elm est "null"
// sinon, ajouter offsetLeft à x,
// offsetTop à y et régler elm à son offsetParent
while(elm != null) {
x = parseInt(x) + parseInt(elm.offsetLeft);
y = parseInt(y) + parseInt(elm.offsetTop);
elm = elm.offsetParent;
}
// retourner un objet avec la position de "xp" (Gauche, l'axe des x), "=yp" (Dessus, l'axe des y)
return {'xp':x, 'yp':y};
}
// Trouver les coordonnées en x et y et les afficher
function getCoords(e) {
// coursesweb.net/
var xy_pos = getXYpos(this);
// si IE
if(navigator.appVersion.indexOf("MSIE") != -1) {
// Ajustements nécessaires avec IE
var standardBody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
x = event.clientX + standardBody.scrollLeft;
y = event.clientY + standardBody.scrollTop;
}
else {
x = e.pageX;
y = e.pageY;
}
x = x - xy_pos['xp'];
y = y - xy_pos['yp'];
// Affiche les coordonnées de x et y à l'élément 'coords'
document.getElementById('coords').innerHTML = 'X= '+ x+ ' ,Y= ' +y;
// Change l'image en fonction de la position du curseur
numeroImage = Math.round(x/100);
console.log(numeroImage);
document.getElementById('imageAnimation').src = '0'+numeroImage+'.jpg';
}
// Pour chaque élément dans 'elmids', garder la valeur du déplacement de la souris.
for(var i=0; i<elmids.length; i++) {
if(document.getElementById(elmids[i])) {
// Appelle la fonction getCoords() lorsque la souris bouge
document.getElementById(elmids[i]).onmousemove = getCoords;
}
}
</script>
</html>