Fonction javascript multi-navigateur pour trouver la position actuelle d'un élément dans la page

SORRY – MY BAD – Il y a eu une erreur dans un autre script qui m'a fait penser que cette fonction est buggy. ** * Mais bon, vous avez une bonne fonction si vous en avez besoin;)

Merci d'avoir aidé les gars.

! ~~

J'ai eu cette fonction:

function findPos(obj) { var curleft = curtop = 0; if (obj && obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); } return [curleft,curtop]; } 

Pour trouver la position actuelle de l'élément en page.

Mais pour une raison quelconque, cela me jette une erreur dans IE; Comment puis-je réparer cela pour fonctionner sur le navigateur?

Ce code indépendant vous permettra d'obtenir des décalages dans les navigateurs modernes, sans cadre. Il utilise la méthode getBoundingClientRect :

 function offset(element){ var body = document.body, win = document.defaultView, docElem = document.documentElement, box = document.createElement('div'); box.style.paddingLeft = box.style.width = "1px"; body.appendChild(box); var isBoxModel = box.offsetWidth == 2; body.removeChild(box); box = element.getBoundingClientRect(); var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = win.pageYOffset || isBoxModel && docElem.scrollTop || body.scrollTop, scrollLeft = win.pageXOffset || isBoxModel && docElem.scrollLeft || body.scrollLeft; return { top : box.top + scrollTop - clientTop, left: box.left + scrollLeft - clientLeft}; } 

Vous pouvez utiliser le décalage de Jquery.