Bonjour à tous, j'ai un problème!![]()
Bon j'explique, j'ai un piti div sur ma page. Ce que je cherche à faire, c'est capturer dans mon div la position du curseur et l'afficher. Mais je veux que le (0,0) soit sur le coin gauche du div en question.
Pour se faire, j'ai besoin de calculer la position en X et Y de mon div par rapport à ma page entière.
J'utilise cette fonction:
Idem pour la position en Y avec offsetTop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function getLeft(MyObject) { if (MyObject.offsetParent) return (MyObject.offsetLeft + getLeft(MyObject.offsetParent)); else return (MyObject.offsetLeft); }
Ce code marche impecablement sous Mozilla/FF et IE, MAIS (c'est le mais qui fait chier) Mozilla me retourne une valeur erronée quand le body est positionné en absolu.
Sur ma page j'applique le style:
(style batard pour centrer la page sur l'écran ^^)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 body { margin: 0px; padding: 0px; width: 800px; position: absolute; left: 50%; margin-left: -400px; }
_ Quand je fait des tests juste sur la position de ce body, IE me retourne une valeur correcte, mais Mozilla me retourne 0.
_ Si j'applique le meme style sur un autre element que le body, les deux naviguateurs retournent une valeur correcte.
_ Si je change le style de positionnement du body en enlevant le positionnement absolu et en mettant:
(pour le même effet de centrage de page)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 body { margin: 0px; padding: 0px; width: 800px; margin-left: auto; margin-right: auto; }
Les 2 naviguateurs me renvoient la bonne valeur. (mais IE ne reconnait pas le "auto", et ne centre pas la page)
Please, aidez-moi
Est-ce qu'il existe un moyen pour calculer cette foutue position du body en absolu? ^^
Partager