鸟儿飞的专栏

生在红旗下,长在春风里~~~为实现中国四个现代化努力工作~~

用户操作
[即时聊天] [发私信] [加为好友]
鸟儿飞
鸟儿飞的公告
fanghl007@163.com
最近评论
bluehouse1985:InstallShield 2009 升级优惠中!
为庆祝最新版InstallShield 2009上市,答谢广大新老用户的支持与厚爱,从即日起,上海世全软件(XLsoft)举办InstallShield 2009优惠活动!数量有限,售完为止!
销售热线:021-62128912/010-64616123
销售邮箱:sales@XLsoft.com.cn
zz:气体报警器
二氧化碳检测仪
可燃气体探测器
气体报警器
二氧化碳检测仪
可燃气体探测器

[url=http://www.smt16.cn]编带机[/url]
123:scions of fate
scions of fate gold
收藏
    相册
    JAVA站点
    Gmail邮箱申请
    JavaEye
    JavaScript教程
    Java世界社区
    Matrix 与JAVA共舞
    中国Eclipse社区
    中国IT实验室
    中文JAVA技术网
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用 Javascript 获取指定页面元素的位置 收藏

    新一篇: 类似google提示窗口 | 旧一篇: Filter过滤非法字符

    用 Javascript 获取指定页面元素的位置是一个非常常见的需求,本文介绍的方法能够准确返回一个元素相对于整个文档左上角的坐标,即元素的 top 、left 的位置,而且能够兼容浏览器,相信对新手非常有用。


    --------------------------------------------------------------
    点此浏览示例文件
    --------------------------------------------------------------


    Javascript:
    1.  
    2. <script language="JavaScript" type="text/javascript">
    3. <!--
    4.  
    5. // 说明:用 Javascript 获取指定页面元素的位置
    6. // 整理:http://www.codebit.cn
    7. // 来源:YUI DOM
    8.  
    9. function getElementPos(elementId) {
    10.  
    11. var ua = navigator.userAgent.toLowerCase();
    12. var isOpera = (ua.indexOf('opera') != -1);
    13. var isIE = (ua.indexOf('msie') != -1 && !isOpera); // not opera spoof
    14.  
    15. var el = document.getElementById(elementId);
    16.  
    17. if(el.parentNode === null || el.style.display == 'none')
    18. {
    19. return false;
    20. }
    21.  
    22. var parent = null;
    23. var pos = [];
    24. var box;
    25.  
    26. if(el.getBoundingClientRect) //IE
    27. {
    28. box = el.getBoundingClientRect();
    29. var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
    30. var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
    31.  
    32. return {x:box.left + scrollLeft, y:box.top + scrollTop};
    33. }
    34. else if(document.getBoxObjectFor) // gecko
    35. {
    36. box = document.getBoxObjectFor(el);
    37. var borderLeft = (el.style.borderLeftWidth)?parseInt(el.style.borderLeftWidth):0;
    38. var borderTop = (el.style.borderTopWidth)?parseInt(el.style.borderTopWidth):0;
    39.  
    40. pos = [box.x - borderLeft, box.y - borderTop];
    41. }
    42. else // safari & opera
    43. {
    44. pos = [el.offsetLeft, el.offsetTop];
    45. parent = el.offsetParent;
    46. if (parent != el) {
    47. while (parent) {
    48. pos[0] += parent.offsetLeft;
    49. pos[1] += parent.offsetTop;
    50. parent = parent.offsetParent;
    51. }
    52. }
    53. if (ua.indexOf('opera') != -1
    54. || ( ua.indexOf('safari') != -1 && el.style.position == 'absolute' ))
    55. {
    56. pos[0] -= document.body.offsetLeft;
    57. pos[1] -= document.body.offsetTop;
    58. }
    59. }
    60. if (el.parentNode) { parent = el.parentNode; }
    61. else { parent = null; }
    62. while (parent && parent.tagName != 'BODY' && parent.tagName != 'HTML')
    63. { // account for any scrolled ancestors
    64. pos[0] -= parent.scrollLeft;
    65. pos[1] -= parent.scrollTop;
    66. if (parent.parentNode) { parent = parent.parentNode; }
    67. else { parent = null; }
    68. }
    69. return {x:pos[0], y:pos[1]};
    70. }
    71.  
    72. //-->
    73. </script>
    74.  



     

    发表于 @ 2007年09月26日 15:14:00|评论(loading...)|编辑

    新一篇: 类似google提示窗口 | 旧一篇: Filter过滤非法字符

    评论

    #213 发表于2008-07-18 23:26:15  IP: 116.28.124.*
    没有一句注释!!
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 鸟儿飞