多浏览器兼容的获取元素和鼠标的位置的js代码


Posted in Javascript onDecember 15, 2009
//获取元素的位置 
function getLeft(obj) { 
if (obj == null) 
return null; 
var mendingObj = obj; 
var mendingLeft = mendingObj.offsetLeft; 
while (mendingObj != null && mendingObj.offsetParent != null && mendingObj.offsetParent.tagName != "BODY") { 
mendingLeft = mendingLeft + mendingObj.offsetParent.offsetLeft; 
mendingObj = mendingObj.offsetParent; 
} return mendingLeft; 
}; 
function getTop(obj) { 
if (obj == null) 
return null; 
var mendingObj = obj; 
var mendingTop = mendingObj.offsetTop; 
while (mendingObj != null && mendingObj.offsetParent != null && mendingObj.offsetParent.tagName != "BODY") { 
mendingTop = mendingTop + mendingObj.offsetParent.offsetTop; 
mendingObj = mendingObj.offsetParent; 
} 
return mendingTop; 
}; 
//获取鼠标的位置 
function getMousePosition(event) { 
var position = { 
MouseX: 0, 
MouseY: 0 
} 
if (event.pageX != undefined) { 
position.MouseX = event.pageX; 
position.MouseY = event.pageY; 
} 
else { 
var target = EventUtil.getTarget(event); 
position.MouseX = event.offsetX + getLeft(target); 
position.MouseY = event.offsetY + getTop(target); 
} 
return position;
Javascript 相关文章推荐
基于jquery的高性能td和input切换并可修改内容实现代码
Jan 09 Javascript
jQuery 删除或是清空某个HTML元素示例
Aug 04 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
微信小程序 css使用技巧总结
Jan 09 Javascript
详解浏览器渲染页面过程
Feb 09 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 Javascript
Vue 开发必须知道的36个技巧(小结)
Oct 09 Javascript
node.js +mongdb实现登录功能
Jun 18 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 #Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 #Javascript
jquery自动完成插件(autocomplete)应用之PHP版
Dec 15 #Javascript
Javascript attachEvent传递参数的办法
Dec 14 #Javascript
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 #Javascript
javascript document.execCommand() 常用解析
Dec 14 #Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 #Javascript
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
vue中element 的upload组件发送请求给后端操作
2020/09/07 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
UGG英国官方网站:UGG UK
2018/02/08 全球购物
八年级历史教学反思
2014/01/10 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
校园公益广告语
2014/03/13 职场文书
捐款倡议书怎么写
2014/05/13 职场文书
校园文明标语
2014/06/13 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang