我想确定从屏幕起始位置到特定div或我拥有的标签的高度。
- label.offsetHeight
- label.offsetWidth
- label.offsetTop
很有帮助,这意味着什么。
答案 0 :(得分:0)
尝试使用GWT JSNI
public static native int getDivPosition(String divId)/*-{
var label = document.getElementById(divId);
var labelTop = label.offsetTop;
var windowHeight = $wnd.innerHeight;
var scrollPosition = $wnd.pageYOffset;
var labelScrollHeight = label.scrollHeight;
return (labelTop - scrollPosition);
}-*/;
有关详细信息,请查看window size and scrollbar position。
请查看以下链接,并通过示例进行直观说明。
答案 1 :(得分:0)
要知道小部件/元素的高度,我会使用GQuery。
。GQuery $(yourWidget).height();应该够了。
要知道距离窗口顶部的距离,我使用这种方法:
public static int offSet(com.google.gwt.dom.client.Element domElement) {
int top = domElement.getOffsetTop();
for (;;){
domElement = domElement.getOffsetParent();
if (domElement == null)
break;
top = top + domElement.getOffsetTop();
}
return top;
}
答案 2 :(得分:0)
在GWT中,它非常简单:
int pos = label.getAbsoluteTop();
如果您想在Javascript中使用它,请使用:
var elementTop = function(element) {
var top = 0;
do {
top += element.offsetTop || 0;
element = element.offsetParent;
} while(element);
return top;
};
答案 3 :(得分:0)
您可以使用.getBoundingClientRect()
。此方法的优点是它在滚动或调整大小事件后返回实际更新的值:
public static native int getDivPosition(String divId)/*-{
var $label = $doc.getElementById(divId);
return $label.getBoundingClientRect().top;
}-*/;