多浏览器兼容的获取元素和鼠标的位置的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 相关文章推荐
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
Dec 08 Javascript
深究AngularJS中ng-drag、ng-drop的用法
Jun 12 Javascript
深入解析Vue 组件命名那些事
Jul 18 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
JS实现标签滚动切换效果
Dec 25 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
jquery+php后台实现省市区联动功能示例
May 23 jQuery
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
讨论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
php+iframe实现隐藏无刷新上传文件
2012/02/10 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
jQuery中Ajax的load方法详解
2015/01/14 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
2020/09/22 Javascript
Python中bisect的用法
2014/09/23 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
Python装饰器语法糖
2019/01/02 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
python制作微博图片爬取工具
2021/01/16 Python
python 如何在测试中使用 Mock
2021/03/01 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
责任书范本
2014/08/25 职场文书
发票退票证明
2015/06/24 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
canvas 中如何实现物体的框选
2022/08/05 Javascript