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的25个步骤 千倍级效率提升
Feb 11 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
Jan 22 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
前端面试题及答案整理(二)
Aug 26 Javascript
D3.js实现饼状图的方法详解
Sep 21 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
微信小程序用户盒子、宫格列表的实现
Jul 01 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
DISCUZ 分页代码
2007/01/02 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Python检测网络延迟的代码
2018/05/15 Python
python实现周期方波信号频谱图
2018/07/21 Python
pyqt5 从本地选择图片 并显示在label上的实例
2019/06/13 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
生物制药专业求职信
2014/03/11 职场文书
讲座主持词
2014/03/20 职场文书
产品销售计划书
2014/05/04 职场文书
土木工程求职信
2014/05/29 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书