Dart で要素 (DOM 要素) のドキュメント (グローバル) 座標を取得しようとしています。純粋な JavaScript では、$('some_selector').offset() を使用して jQuery 経由で取得できました。
Dart dart:html API を調べましたが、今のところうまくいきません。
何か案は?ありがとう
Elementには、その座標を取得するためのネイティブ関数はありません。
jQuery.offset()の Dart 版は次のとおりです。
class Position {
num left, top;
Position(this.left, this.top);
}
Position offset(Element elem) {
final docElem = document.documentElement;
final box = elem.getBoundingClientRect();
return new Position(box.left + window.pageXOffset - docElem.clientLeft,
box.top + window.pageYOffset - docElem.clientTop);
}
別の解決策は、 js-interop経由でjQuery.offset()を使用することです:
Position jQueryOffset(Element elem) {
return js.scoped((){
final offset = js.context.jQuery(elem).offset();
return new Position(offset.left, offset.top);
});
}