如何从窗口顶部获取高度到javascript中的特定div /标签

时间:2014-04-26 08:21:45

标签: javascript gwt screen

我想确定从屏幕起始位置到特定div或我拥有的标签的高度。

- label.offsetHeight

- label.offsetWidth

- label.offsetTop

很有帮助,这意味着什么。

4 个答案:

答案 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;
}-*/;