JS获取鼠标相对位置的方法


Posted in Javascript onSeptember 20, 2016

本文实例讲述了JS获取鼠标相对位置的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8"/>
<title>位置</title>
<script language="javascript" type="text/javascript">
function m(){
document.getElementById("area").innerHTML=event.clientX +" , "+event.clientY;
} 
function c(){
 var objTop = getOffsetTop(document.getElementById("d"));//对象x位置
 var objLeft = getOffsetLeft(document.getElementById("d"));//对象y位置
 var mouseX = event.clientX+document.body.scrollLeft;//鼠标x位置
 var mouseY = event.clientY+document.body.scrollTop;//鼠标y位置
//计算点击的相对位置
 var objX = mouseX-objLeft;
 var objY = mouseY-objTop;
 clickObjPosition = objX + "," + objY;
 alert(clickObjPosition);
}
function getOffsetTop(obj){
  var tmp = obj.offsetTop;
  var val = obj.offsetParent;
  while(val != null){
    tmp += val.offsetTop;
    val = val.offsetParent;
  }
  return tmp;
}
function getOffsetLeft(obj){
  var tmp = obj.offsetLeft;
  var val = obj.offsetParent;
  while(val != null){
    tmp += val.offsetLeft;
    val = val.offsetParent;
  }
  return tmp;
}
</script>
</head>
<body style="margin:0px;" onmousemove="m();">
<div style="padding:90px;border:1px solid #ccc;font-size:36px;width:800px;height:800px;"> </div>
<div id="area"></div>
<div style="width:1400px;height:300px;border:1px solid red;padding-left:1200px;">
 <div id="d" style="width:200px;height:200px;border:1px solid green;padding:10px;cursor:hand;" onclick="c()">这里是图片,因为我用div边框1px,所以两个div会有2px的位置偏移,你可以自己调整</div>
</div>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
Mar 09 Javascript
jquery控制listbox中项的移动并排序的实现代码
Sep 28 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
Jun 03 Javascript
基于Css3和JQuery实现打字机效果
Aug 11 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
Oct 05 Javascript
javascript入门之数组[新手必看]
Nov 21 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
基于vue+element实现全局loading过程详解
Jul 10 Javascript
Vue中keep-alive的两种应用方式
Jul 15 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
Sep 20 #Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 #Javascript
AngularJS删除路由中的#符号的方法
Sep 20 #Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
Sep 20 #Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 #Javascript
原生js实现ajax方法(超简单)
Sep 20 #Javascript
原生js仿jquery一些常用方法(必看篇)
Sep 20 #Javascript
You might like
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
2014/09/03 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python:接口间数据传递与调用方法
2018/12/17 Python
机器学习实战之knn算法pandas
2019/06/22 Python
Python字符串三种格式化输出
2020/09/17 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
毕业生精彩的自我评价分享
2013/10/06 职场文书
电气工程师岗位职责
2014/01/01 职场文书
销售经理工作职责
2014/02/03 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
企业法人代表证明书
2014/09/27 职场文书
董事长新年致辞
2015/07/29 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python