获取可滚动div内元素的位置

时间:2017-05-05 15:28:52

标签: javascript jquery html css

好的我一直在寻找解决我遇到的问题的各种解决方案,但似乎没有人能解决我面临的问题。我有一个可滚动的Dev Express网格(据我所知,它转换为div)在该网格中我有一些备忘录字段,我想“弹出”以扩大打字的大小而不扩展网格大小并保持内联编辑。我一直在尝试做的是使用JQuery获取网格中单元格的位置以显示memofield。这个工作正常,除非有人必须​​在网格中滚动,此时我创建的div在控件在页面上的位置弹出,而不是控件在网格内的位置。我的问题是如何获得网格滚动到的位置?我尝试过scrollTop并且什么都没回来。我错过了什么?

CSS:

.memoField {
  height: 200px;
  width: 270px;
  z-index: 1000;
  position: absolute;
}

Javascript(到目前为止):

function setPopUpLocation(o, parent) {
  var parentObj = $(o);
  var grid = $(parent);
  var pos = grid.position();

  posX = pos.left;
  posY = pos.top;
  if (editcontrol != null) {
    editcontrol.posX = pos.left;
    editcontrol.posY = pos.top;
    editcontrol.offsetTop = 0;
    editcontrol.style.display = 'initial';

  }
}

function showPopUp(s, e) {
  editcontrol = document.getElementById(s.name).parentElement;
  grid = document.getElementById("ASPxGridView1");
  setPopUpLocation(editcontrol, grid);
}

任何帮助都会受到很大的限制。我还提供了一个图像,显示当滚动网格时弹出窗口的外观。以及它的外观(并且应该看起来)。我正在寻找的行为是让“popout”出现在相对于网格内当前滚动位置的网格中单击的单元格的位置。

When Scrolled

Not Scrolled

0 个答案:

没有答案