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 相关文章推荐
Javascript 面向对象 命名空间
May 13 Javascript
JQuery中的$.getJSON 使用说明
Mar 10 Javascript
高性能JavaScript模板引擎实现原理详解
Feb 05 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 26 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 Javascript
jQuery中将json数据显示到页面表格的方法
May 27 jQuery
vue.js 中使用(...)运算符报错的解决方法
Aug 09 Javascript
Vue 组件参数校验与非props特性的方法
Feb 12 Javascript
浏览器事件循环与vue nextTicket的实现
Apr 16 Javascript
vue实现直播间点赞飘心效果的示例代码
Sep 20 Javascript
Ant design vue中的联动选择取消操作
Oct 31 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
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
PHP开发框架laravel安装与配置教程
2015/03/13 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
浅析Javascript中bind()方法的使用与实现
2016/04/29 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
详解Vue方法与事件
2017/03/09 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
vue form check 表单验证的实现代码
2018/12/09 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python中字典的setdefault()方法教程
2017/02/07 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
什么是规则表达式
2012/05/03 面试题
青年教师典范事迹材料
2014/01/31 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2015年商场工作总结
2015/04/27 职场文书
幼儿园小班教师随笔
2015/08/14 职场文书
趣味运动会口号
2015/12/24 职场文书
HAM-2000摩机图
2021/04/22 无线电
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL