Wie kann bei einer gegebenen HTML-DOM-ID die Position eines Elements relativ zum Fenster in JavaScript / JQuery ermittelt werden? Dies ist nicht dasselbe wie relativ zum Dokument oder zum übergeordneten Versatz, da sich das Element möglicherweise innerhalb eines Iframes oder einiger anderer Elemente befindet. Ich muss die Bildschirmposition des Rechtecks des Elements (in Position und Bemaßung) ermitteln, wie es gerade angezeigt wird. Negative Werte sind akzeptabel, wenn sich das Element derzeit außerhalb des Bildschirms befindet (wurde gescrollt).
Dies ist für eine iPad-Anwendung (WebKit / WebView). Immer wenn der Benutzer auf einen speziellen Link in einem tippt UIWebView
, soll ich eine Popover-Ansicht öffnen, in der weitere Informationen zum Link angezeigt werden. In der Popover-Ansicht muss ein Pfeil angezeigt werden, der auf den Teil des Bildschirms verweist, der ihn aufruft.
<div>
. Sie betrachten nur das Scrollen des Dokuments, nicht aber das Scrollen des anderen Elements.Probieren Sie den Begrenzungsrahmen aus. Es ist einfach:
quelle
Sie können es so nennen
Ich konzentriere mich nur für den IE gemäß meiner Anforderung, aber ähnliche können für andere Browser durchgeführt werden
quelle
Dies klingt eher so, als ob Sie einen Tooltip für den ausgewählten Link wünschen. Es gibt viele jQuery-Tooltips. Probieren Sie jQuery qTip aus . Es hat viele Optionen und ist einfach, die Stile zu ändern.
Andernfalls können Sie die jQuery verwenden, wenn Sie dies selbst tun möchten
.position()
. Weitere Informationen finden Sie.position()
unter http://api.jquery.com/position/$("#element").position();
gibt die aktuelle Position eines Elements relativ zum übergeordneten Versatz zurück.Es gibt auch die jQuery .offset (); Dadurch wird die Position relativ zum Dokument zurückgegeben.
quelle
TL; DR
.getBoundingClientRect () scheint universell zu sein . .offset () und .scrollTop () werden seit jQuery 1.2 unterstützt. Vielen Dank an @ user372551 und @prograhammer. Informationen zur Verwendung von DOM in einem Iframe finden Sie in der Lösung von @ ImranAnsari .
quelle
quelle
Versuchen Sie dies, um die Position eines Elements relativ zum Fenster zu ermitteln.
Weitere Informationen @ Ermitteln Sie mit jQuery die Position eines Elements relativ zum Dokument
quelle