获取一个dom元素的绝对位置。想根据该位置再通过(absolute)定位其他的元素。
需要兼容IE6,IE7,FF

解决方案 »

  1.   

    IE:event.y和event.x
    FF下面麻烦一点,ff必须在事件发生的现场捕获事件,所以要把event做为参数传递到处理事件的代码中
    比如<div onclick="fnClick(this,event)"></div>
    function fnClick(obj,e){
      alert(e.pageX+','+e.pageY);
    }
      

  2.   

    我用
    var left = 0;
    var top = 0;
    while (obj != document.body) {
    alert(obj.offsetParent.tagName.toLowerCase()+obj.offsetLeft);
    left += obj.offsetLeft;
    top += obj.offsetTop;
    obj = obj.offsetParent;
    }这样做,,如果不设*{margin:0;padding:0}的话,获取位置会出错
      

  3.   

    顶一下,刚试了下
    var left = 0;
    var top = 0;
    while (!obj || obj != document.body) {
    left += obj.offsetLeft;
    top += obj.offsetTop;
    obj = obj.offsetParent;
    }
    if (isIE && obj) {
    left += obj.offsetLeft;
    top += obj.offsetTop;
    }这样可以解决body有margin和padding的情况。
    刚又把该元素放在其他的position元素中,位置又乱了。