使用JavaScript查找HTML元素的X / Y

这个问题在这里已经有了答案:

  • 检索HTML元素的位置(X,Y)23的答案

  • 以下是我的做法:

    // Based on: http://www.quirksmode.org/js/findpos.html
    var getCumulativeOffset = function (obj) {
        var left, top;
        left = top = 0;
        if (obj.offsetParent) {
            do {
                left += obj.offsetLeft;
                top  += obj.offsetTop;
            } while (obj = obj.offsetParent);
        }
        return {
            x : left,
            y : top
        };
    };
    

    取决于浏览器和版本,这可能会很棘手。 我会建议使用jQuery和职位插件。


    您可以使用Prototype或jQuery等库,也可以使用这个方便的功能:

    它返回一个数组。

    myPos = findPos(document.getElementById('something'))
    x = myPos[0]
    y = myPos[1]
    
    function findPos(obj) {
      var curleft = curtop = 0;
      if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
          curleft += obj.offsetLeft
          curtop += obj.offsetTop
        }
      }
      return [curleft,curtop];
    }
    
    链接地址: http://www.djcxy.com/p/15597.html

    上一篇: Find X/Y of an HTML element with JavaScript

    下一篇: > PDF with PHP