JavaScript获取鼠标坐标的函数(兼容IE、FireFox、Chrome)
还好网上什么都有,上网找了一个浏览器兼容性最佳的函数,经测试兼容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
鼠标跟随提示框
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;}
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';
}
}
}
- 关于用户研究的一点思考
- WEB重构拾趣
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]