javascript - 如何获取元素相对于父元素的位置?

标签 javascript jquery css

我该如何更改,以便将 y 设置为零?

fiddle
http://jsfiddle.net/DGbT3/2672/

HTML

<div id="parent" style="width: 300px; height: 300px; border: 1px solid black; margin-top: 50px;">
  <div id="dragThis">
    <ul>
      <li id="posX"></li>
      <li id="posY"></li>
    </ul>
  </div>
</div>

JS

$('#dragThis').draggable({
  drag: function() {
    var position = $(this).position();
    var xPos = position.left;
    var yPos = position.top;
    $('#posX').text('x: ' + xPos);
    $('#posY').text('y: ' + yPos);
  }
});

CSS

#dragThis {
  width: 6em;
  height: 6em;
  padding: 0.5em;
  border: 3px solid #ccc;
  border-radius: 0 1em 1em 1em;
  position: relative;
  top: 0px;
}

我一直在将“position”更改为“offset”,并且尝试更改 CSS 位置。但我无法弄清楚,如何获得 y,从其父项中算出 top。

最佳答案

获取其容器的 x 和 y 位置,并从适当的值中减去这些值。

jsFiddle .

或者,给可拖动元素的 position: absolute 和父 position: relative

jsFiddle .

关于javascript - 如何获取元素相对于父元素的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37410314/

相关文章:

javascript - 如果 cookie 大小超出浏览器限制,浏览器会抛出一些错误吗?

javascript - HTML JS/JQuery : Store Parameter after button click to use it for a later function

javascript - 在 div 外部单击后删除类

jquery - $。 jquery中的函数签名

javascript - 如何删除 bootstrap tagsinput 中重复的标签字符

javascript - jQuery 在滚动条上获取更多表格行

javascript - NodeJS 模块 - 填充数组变成空对象。为什么?

javascript - Android webview 性能慢

javascript - 当用户向下滚动时如何使向下箭头消失?

javascript - 如何将重复的 css 值存储在变量中以减少代码的重复性?