获取控件在网页中的绝对位置

在IE和FF下能用的,获取按钮在网页中的绝对位置
<! 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>  
< / head>  
< body >   
< div > 如果您没有看到按钮,请往下拉到滚动条。 < / div>  
< div style = " height:500px;border:1px solid #6666CC; " >   < / div>  
------------< input type = " button "  value = " 点我获取我的座标 "     
onclick
= " javascript:var pos = getCoordinate();alert('此按钮距页面左端 '+pos.x+' 像素,上端 '+pos.y+' 像素'); "   / >  
  
< script type = " text/javascript "  language = " javascript " >   
function  CPos(x, y)   
{   
    
this .x  =  x;   
    
this .y  =  y;   
}   
  
//  取得事件(通用)   
function  $EVENTObject()   
{   
    
if (window.event)  return  window.event;   
    
var  f = $EVENTObject.caller;   
    
while (f != null )   
    {   
        
var  e  =  f.arguments[ 0 ];   
        
if (e  &&  (e.constructor == MouseEvent || e.constructor == Event || e.constructor == KeyboardEvent))  return  e;   
        ff
= f.caller;   
    }   
}   
  
// 取得触发本事件的元素(通用)   
function  getElement()   
{   
    
var  _enent = $EVENTObject();    
    
if (window.event)   
    {   
        
return  _enent.srcElement;   // 是IE    
    } else {   
        
return  _enent.target;   // 是FF   
    }   
  
}   
  
// 取得 调用本方法的按钮  距离页面最上端和最左端的位置   
function  getCoordinate()   
{   
    
var  target  = getElement();   
    
var  pos  =   new  CPos(target.offsetLeft, target.offsetTop);   
       
    
var  targettarget  =  target.offsetParent;   
    
while  (target)   
    {   
        pos.x 
+=  target.offsetLeft;   
        pos.y 
+=  target.offsetTop;   
           
        targettarget 
=  target.offsetParent   
    }       
    
return  pos;   
}   
< / script>  
< / body>  
< / html>  

转自: http://elf8848.javaeye.com/blog/227557

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/07/26/1531635.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值