пользовательский интерфейс приложения имеет веб-просмотр вместе с некоторым другим собственным представлением в макете прокрутки, внутри веб-представления есть некоторый элемент html, который стороне приложения необходимо получить его обновленное местоположение и использовать его в качестве привязки для размещения некоторого вида, плавающего над ним . webview / html похож на:
====================|===
| TextView or |
| other native view |
|---webview---------|
|-------------------|
| html data top |
|<div id="theElm" \>|
| |
| html data bottom |
|-------------------|
| |
| |
====================|===
и может прокручиваться вверх, веб-просмотр частично выходит за пределы экрана:
| |
| TextView or |
| other native view |
|---webview---------| ^
|-------------------| |
====================|===
| html data top |
|<div id="theElm" \>|
| |
| html data bottom |
|-------------------|
| |
| |
| |
| ^ |
| | |
====================|===
, а <div id="theElm">
также может прокручиваться на экране.
используя некоторую функцию , чтобы получить его местоположение и пройти обратно через javascript мост:
function getOffset( el ) {
var _x = 0;
var _y = 0;
while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('yourElId') ).left;
но как получить положение относительно верхней части экрана / осталось?