2017-12-23 6 views
-2

Ich versuche, die Position eines div-Elements relativ zum Bildschirm zu erhalten. ich eine Lösung für diesen überall und immer noch nicht finden kann, lesen, zur Zeit mein Code:HTML Element Position relativ zum Bildschirm

var myElement = document.getElementById('pi'); 
var myElement2 = document.body; 

alert (myElement.offsetTop + ',' + myElement.offsetLeft); 
alert (myElement2.offsetTop + ',' + myElement2.offsetLeft); 
alert (window.screenX); 

All i ist 8,8 für mein div-Element erhalten, die nicht wirklich die Lage ist.

HTML-Code:

<body> <div id=pi >fffddd</div> </body>

+0

Was die tatsächliche Position sein sollte? – Mamun

+2

http://jsfiddle.net/hibbard_eu/ZPZQ4/ hat keinen Code zu Ihrer Frage ... – zer00ne

+1

Sieht aus wie Ihr Element bei 8,8 in einem iframe ist - es ist in der jsfiddle. Wenn Sie wissen, dass dies der Fall ist, müssen Sie die Position des Iframes mit ähnlichem Code ermitteln und diese Werte hinzufügen. – JasonB

Antwort

1

den linken Rand des Browsers Unter der Annahme, ist der linke Rand des Körpers und alle den Unterschied zwischen window.innerHeight und window.outerHeight über dem Körper ist man bekommen kann viel näher an dem, was Sie verlangen. Hier werden zusätzliche Annahmen bezüglich Multi-Display-Setups gemacht.

xPos = myElement.offsetLeft + window.screenX; 
yPos = myElement.offsetTop + window.screenY + window.outerHeight - 

window.innerHeight;

let myElement = document.body, 
 
    xPos = myElement.offsetLeft + window.screenX, 
 
    yPos = myElement.offsetTop + window.screenY + window.outerHeight - 
 
window.innerHeight; 
 

 
alert (xPos + ',' + yPos);

Verwandte Themen