Wie kann ich die Position der oberen linken Ecke des aktuellen Bildschirms herausfinden? Z.B. Wenn ich das HTML-Dokument scrolle, muss ich mit den Mauspositionen relativ zum Anfang des Dokuments rechnen. Ich möchte mouseOffsetY = upperleftCorner.offset.y + event.clientY;
Wie bekomme ich den Offset der oberen linken Ecke in der aktuellen Bildschirmansicht in Javascript?
Q
Wie bekomme ich den Offset der oberen linken Ecke in der aktuellen Bildschirmansicht in Javascript?
1
A
Antwort
1
so etwas wie erhalten, indem document.getElementsByTagName("BODY")[0].scrollTop;
scrollTop des Körpers berechnen, so wird es kommen:
mouseOffsetY =document.getElementsByTagName("BODY")[0].scrollTop+event.clientY;
0
Dies wird nicht in Firefox funktioniert:
console.log($('body').get(0).scrollTop);
console.log(document.getElementsByTagName("body")[0].scrollTop);
Da Firefox Überprüft den html [0] .scrollTop-Textkörper.
Schließlich ist es sicherer
window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
Arbeiten gut in Firefox 48. dieses
In Firefox
console.log(window.pageYOffset);
console.log(document.documentElement.scrollTop);
console.log($('html').get(0).scrollTop);
console.log($('body').get(0).scrollTop);
console.log(document.getElementsByTagName("html")[0].scrollTop);
z drucken .:
446
446
446
0
446
Dank Will zu verwenden. Ich denke, es wird nur funktionieren, wenn Bildlaufleisten vorhanden sind. Aber das macht nichts. – user1141649
Es funktioniert, wenn es auch keine Bildlaufleiste gibt – Tuhin
Es scheint nicht zu funktionieren. Ich habe 'console.log ($ ('body'). Get (0) .scrollTop);' oder 'console.log (document.getElementsByTagName (" BODY ") [0] .scrollTop);' wenn ich auf Element geklickt habe auf der Seite. Beide gedruckt 0. Scrollbars vorhanden. – user1141649