Étant donné un ID HTML DOM, comment obtenir la position d'un élément par rapport à la fenêtre dans JavaScript / JQuery? Ce n'est pas la même chose que relative au document ni au parent offset puisque l'élément peut être à l'intérieur d'une iframe ou de certains autres éléments. J'ai besoin d'obtenir l'emplacement à l'écran du rectangle de l'élément (comme dans la position et la dimension) tel qu'il est actuellement affiché. Les valeurs négatives sont acceptables si l'élément est actuellement hors écran (a été défilé).
Ceci est pour une application iPad (WebKit / WebView). Chaque fois que l'utilisateur appuie sur un lien spécial dans un UIWebView
, je suis censé ouvrir une vue popover qui affiche des informations supplémentaires sur le lien. La vue popover doit afficher une flèche qui pointe vers la partie de l'écran qui l'invoque.
<div>
. Vous ne considérez que le défilement du document, mais pas l'autre élément de défilement.Essayez la boîte englobante. C'est simple:
la source
tu peux l'appeler comme ça
Je me concentre pour IE uniquement selon mes besoins, mais la même chose peut être faite pour d'autres navigateurs
la source
Cela ressemble plus à une info-bulle pour le lien sélectionné. Il existe de nombreuses info-bulles jQuery, essayez jQuery qTip . Il a beaucoup d'options et il est facile de changer les styles.
Sinon, si vous souhaitez le faire vous-même, vous pouvez utiliser jQuery
.position()
. Plus d'infos.position()
sur http://api.jquery.com/position/$("#element").position();
renverra la position actuelle d'un élément par rapport au parent offset.Il existe également le jQuery .offset (); qui renverra la position par rapport au document.
la source
TL; DR
.getBoundingClientRect () semble être universel . .offset () et .scrollTop () sont pris en charge depuis jQuery 1.2. Merci @ user372551 et @prograhammer. Pour utiliser DOM dans un iframe, consultez la solution @ ImranAnsari .
la source
la source
Essayez ceci pour obtenir l'emplacement d'un élément par rapport à la fenêtre.
Voir plus @ Obtenir la position d'un élément par rapport au document avec jQuery
la source