获取div的坐标以及大小方法

html部分:

    <div  id='divId' style="left: 150px; top: 280px; width: 100px; height: 100px;
background: none; text-align: center">
        </div>

js部分:

    var obj = document.getElementById('divId');
    var x = GetObjPos(obj)['x'];
    var y = GetObjPos(obj)['y'];
    var width = parseInt(obj.style.width);
    var height = parseInt(obj.style.height);


    /**
     * 坐标
     * @param x
     * @param y
     * @return
     */
    function CPos(x, y) {
        this.x = x;
        this.y = y;
    }
    /**
     * 得到对象的相对浏览器的坐标
     * @param ATarget
     * @return
     */
    function GetObjPos(ATarget) {
        var target = ATarget;
        var pos = new CPos(target.offsetLeft, target.offsetTop);

        var target = target.offsetParent;
        while (target) {
            pos.x += target.offsetLeft;
            pos.y += target.offsetTop;

            target = target.offsetParent
        }
        return pos;
    }

这里要注意的是:获取div必须使用id,并且用原生js,才有效,使用class或者jq的方法都无效。
原因是*.style.width和obj.style.height要通过id才能捕捉,而这种方法只有原生js才能使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,693评论 1 92
  • 1. tab列表折叠效果 html: 能源系统事业部 岗位名称: 工作地点 岗位名...
    lilyping阅读 5,908评论 0 1
  • Ø JavaScript 3 1. HTML对象获取问题 32. const问题 33. event.x与even...
    横冲直撞666阅读 8,396评论 0 7
  • 大家是时候为今天的好种子浇水施肥晒太阳[太阳] [咖啡]咖啡冥想[咖啡] 我近期最想实现的一个愿望或目标是:获得氧...
    张蓉萍阅读 1,328评论 0 1
  • 下午吃完饭和弟弟出门闲逛,看见前面小区的一只白色小猫,很乖。我们蹲下去小心地摸了摸它的头,它不仅很享受还舒展四肢在...
    sxc1996阅读 1,765评论 0 0

友情链接更多精彩内容