JavaScript获取鼠标坐标的函数(兼容IE、FireFox、Chrome)
作者:bea
还好网上什么都有,上网找了一个浏览器兼容性最佳的函数,经测试兼容IE、FireFox、Chrome,并且不会有滚动条误差问题,存档下,以备后用 :) 代码如下: function mousePos(e){ var x,y; var e = e||window.event; return { x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft, y:e.clientY+d
还好网上什么都有,上网找了一个浏览器兼容性最佳的函数,经测试兼容IE、FireFox、Chrome,并且不会有滚动条误差问题,存档下,以备后用 :)
代码如下:
function mousePos(e){
var x,y;
var e = e||window.event;
return {
x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
};
}
注:此函数配合onmousemove事件使用。
函数出处:鼠标跟随提示框 by nunumick
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>鼠标跟随提示框</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
body{font:12px/1.8 arial;}
a,a:visited{color:#3366cc;text-decoration:none;}
a:hover{color:#f60;text-decoration:underline;}
.tip{width:200px;border:2px solid #ddd;padding:8px;background:#f1f1f1;color:#666;}
img{border:none;}
</style>
<script type="text/javascript">
var tip={$:function(ele){
if(typeof(ele)=="object")
return ele;
else if(typeof(ele)=="string"||typeof(ele)=="number")
return document.getElementById(ele.toString());
return null;
},
mousePos:function(e){
var x,y;
var e = e||window.event;
return{x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop};
},
start:function(obj){
var self = this;
var t = self.$("mjs:tip");
obj.onmousemove=function(e){
var mouse = self.mousePos(e);
t.style.left = mouse.x + 10 + 'px';
t.style.top = mouse.y + 10 + 'px';
t.innerHTML = obj.getAttribute("tips");
t.style.display = '';
}
obj.onmouseout=function(){
t.style.display = 'none';
}
}
}
</script>
</head>
<body>
<ol>
<li>
<a href="http:///article/21812.htm" target="_blank"><img src="http:///images/logo.gif" onmouseover="tip.start(this)" tips="JQuery获取元素文档大小、偏移和位置和滚动条位置的 " /></a>
</li>
<li>
<a href="http:///article/21808.htm" target="_blank" onmouseover="tip.start(this)" tips="Javascript 实现TreeView CheckBox全选效果 ……">关于用户研究的一点思考</a>
</li>
<li>
<a href="http:///article/21806.htm" target="_blank" onmouseover="tip.start(this)" tips="JavaScript 学习笔记(九)call和apply方法 ……">WEB重构拾趣</a>
</li>
</ol>
<div id="mjs:tip" class="tip" style="position:absolute;left:0;top:0;display:none;"></div>
</body>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
代码如下:
function mousePos(e){
var x,y;
var e = e||window.event;
return {
x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
};
}
注:此函数配合onmousemove事件使用。
函数出处:鼠标跟随提示框 by nunumick
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>鼠标跟随提示框</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
body{font:12px/1.8 arial;}
a,a:visited{color:#3366cc;text-decoration:none;}
a:hover{color:#f60;text-decoration:underline;}
.tip{width:200px;border:2px solid #ddd;padding:8px;background:#f1f1f1;color:#666;}
img{border:none;}
</style>
<script type="text/javascript">
var tip={$:function(ele){
if(typeof(ele)=="object")
return ele;
else if(typeof(ele)=="string"||typeof(ele)=="number")
return document.getElementById(ele.toString());
return null;
},
mousePos:function(e){
var x,y;
var e = e||window.event;
return{x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop};
},
start:function(obj){
var self = this;
var t = self.$("mjs:tip");
obj.onmousemove=function(e){
var mouse = self.mousePos(e);
t.style.left = mouse.x + 10 + 'px';
t.style.top = mouse.y + 10 + 'px';
t.innerHTML = obj.getAttribute("tips");
t.style.display = '';
}
obj.onmouseout=function(){
t.style.display = 'none';
}
}
}
</script>
</head>
<body>
<ol>
<li>
<a href="http:///article/21812.htm" target="_blank"><img src="http:///images/logo.gif" onmouseover="tip.start(this)" tips="JQuery获取元素文档大小、偏移和位置和滚动条位置的 " /></a>
</li>
<li>
<a href="http:///article/21808.htm" target="_blank" onmouseover="tip.start(this)" tips="Javascript 实现TreeView CheckBox全选效果 ……">关于用户研究的一点思考</a>
</li>
<li>
<a href="http:///article/21806.htm" target="_blank" onmouseover="tip.start(this)" tips="JavaScript 学习笔记(九)call和apply方法 ……">WEB重构拾趣</a>
</li>
</ol>
<div id="mjs:tip" class="tip" style="position:absolute;left:0;top:0;display:none;"></div>
</body>
</html>
[Ctrl+A 全选 注:
如需引入外部Js需刷新才能执行]
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js限制输入框可输入字节数代码
- JavaScript写的一个自定义弹出式对话框代码
- JavaScript QueryString解析类代码
- 屏蔽Flash右键信息的js代码
- JavaScript学习笔记(十)
- AJAX的跨域与JSONP(为文章自动添加短址的功能)
- 前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
- 20个非常有用的PHP类库 加速php开发
- javascript 特性检测并非浏览器检测
- javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
- extjs 为某个事件设置拦截器
- 利用onresize使得div可以随着屏幕大小而自适应的代码
- javascript 不间断的图片滚动并可点击
- Span元素的width属性无效果原因及解决方案
- javascript实现的基于金山词霸网络翻译的代码
- JQuery 引发两次$(document.ready)事件
- 用jQuery扩展自写的 UI导航
- jQuery的一些特性和用法整理小结
- JavaScript关于select的相关操作说明