实用的与坐标位置相关的js
在前端开发的时候,以下这个函数可能会很有用,兼容ff 和ie
1 //获取页面元素在页面中的绝对位置
2 //author:zhxia
3 function getElementCoord(element)
4 {
5 var coord = {x:0,y:0};
6 while (element)
7 {
8 coord.x += element.offsetLeft;
9 coord.y += element.offsetTop;
10 element = element.offsetParent;
11 }
12 return coord;
13 }
2 //author:zhxia
3 function getElementCoord(element)
4 {
5 var coord = {x:0,y:0};
6 while (element)
7 {
8 coord.x += element.offsetLeft;
9 coord.y += element.offsetTop;
10 element = element.offsetParent;
11 }
12 return coord;
13 }
实例:
1 //实际应用
2 //author:zhxia
3 function showTip(){
4 var evt=window.event||arguments.callee.caller.arguments[0]; //获取event对象
5 var src=evt.srcElement||evt.target; //获取事件源对象
6 var coord=getElementCoord(src);
7 document.getElementById('tip').style.left=coord.x;
8 document.getElementById('tip').style.top=coord.y;
9 }
2 //author:zhxia
3 function showTip(){
4 var evt=window.event||arguments.callee.caller.arguments[0]; //获取event对象
5 var src=evt.srcElement||evt.target; //获取事件源对象
6 var coord=getElementCoord(src);
7 document.getElementById('tip').style.left=coord.x;
8 document.getElementById('tip').style.top=coord.y;
9 }
获取鼠标的当前位置:
1 function getMouseCoords(ev){
2 if(ev.pageX || ev.pageY){
3 return {x:ev.pageX, y:ev.pageY};
4 }
5 return {x:ev.clientX + (document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft),y:ev.clientY + (document.documentElement.scrolTop?document.documentElement.scrollTop:document.body.scrollTop)};
6 }
2 if(ev.pageX || ev.pageY){
3 return {x:ev.pageX, y:ev.pageY};
4 }
5 return {x:ev.clientX + (document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft),y:ev.clientY + (document.documentElement.scrolTop?document.documentElement.scrollTop:document.body.scrollTop)};
6 }