JavaScript 获取指定 div 元素坐标及滚动位置的方法

作者:拾光

时间:2026-10-29

浏览:94

本文介绍一种通过 JavaScript 获取指定 div 元素坐标及滚动条位置的方法。该方法接收 div 对象或 id,返回包含宽度、高度、左上角坐标及水平垂直滚动条位置的对象,适用于需要精确控制页面布局与交互的场景。

文章目录

JavaScript 获取 div 坐标方法概述

本文通过具体实例,讲解如何使用 JavaScript 获取 div 元素的坐标信息,供开发者参考与借鉴。

在 HTML 开发中,div 是最常用的布局控件之一。了解如何准确获取 div 的坐标位置,对于页面布局调整和交互逻辑实现至关重要。

以下方法可以实现该功能:

核心实现代码


/***
 * 获取div的坐标
 * @param divObj
 * @returns {{width: number, height: number, left: *, top: Window}}
 */
com.whuang.hsj.divCoordinate=function(divObj){
  if(typeof divObj == 'string'){
    divObj=com.whuang.hsj.$$id('divObj');
  }
  return {'width':divObj.offsetWidth,'height':divObj.offsetHeight,
    'x':divObj.offsetLeft,'y':divObj.offsetTop,
    'scrollLeft':com.whuang.hsj.getScroll().left,'scrollTop':com.whuang.hsj.getScroll().top};
}
// Cross browser gets the position of scroll
com.whuang.hsj.getScroll=function(){
  return {
    top:document.documentElement.scrollTop || document.body.scrollTop, 
    left:document.documentElement.scrollLeft || document.body.scrollLeft 
  }
}

JavaScript 获取 div 坐标方法概述

方法功能与参数说明

com.whuang.hsj.divCoordinate() 方法说明

功能:返回指定 div 的坐标及相关尺寸信息; 参数:接收一个 div 对象,或者 div 的 id 字符串;

返回值:返回一个对象,该对象包含以下六个属性:

width:div 元素自身的宽度; height:div 元素自身的高度; x:div 左上角相对于父容器的 x 坐标; y:div 左上角相对于父容器的 y 坐标; scrollLeft:水平滚动条的当前位置; scrollTop:竖直滚动条的当前位置;

测试页面示例:

测试页面与运行结果


<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script type="text/javascript" src="js/jquery-1.10.1.js"></script>
  <script type="text/javascript" src="js/common_util.js"></script>
  <script type="text/javascript">
  function run(){
      var loc=com.whuang.hsj.divCoordinate('divObj');
//      document.writeln();
      com.whuang.hsj.$$id('text22').innerHTML="width:"+loc.width+" &nbsp; , &nbsp; height:"+loc.height+" &nbsp;, &nbsp;scrollTop:"+loc.scrollTop+" &nbsp;, &nbsp;scrollLeft:"+loc.scrollLeft+" &nbsp;,&nbsp;x:"+loc.x+" &nbsp;,&nbsp; y:"+loc.y;
    }
  </script>
</head>
<body>
<div style="width: 599px;height: 499px;background-color: mediumvioletred;" id="divObj" >
</div>
<br>
<input type="button" value="run" onclick="run();" >
<div id="text22" style="width: 400px;" >
  </div>
</body>
</html>

运行结果展示:

JavaScript 获取 div 坐标方法概述

希望本文提供的代码示例对大家的 JavaScript 程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章