两个问题
1 我在一个div上点击鼠标,获得(用event.clientx)鼠标坐标x,y,再获得(event.x和event.offsetX)相对该div的偏移ox,oy,然后计算出div的绝对坐标x-ox,但是每次计算出来都要比实际值要小2个像素,这是怎么回事?怎么解决啊?2  第二个问题复杂,在一个居中(margin:0 auto)的大div中嵌套了个小div,(都没有用绝对定位和相对定位),计算出小计算出小div的绝对坐标(点击的时候按照问题1的方法保存下初始坐标)。
   当鼠标拖拽后释放小div的时候,想把它放回原处。但是如果把它按照计算出来绝对坐标放置小div。如果不调整浏览器的宽度的话,小div的位置自然不变,可是如果调整了宽度高度,小div可能就滑出了大div,因为它按照绝对进行定位了,可是我想拖动后小div后,松开鼠标小div还能回到原来的位置(居中的大div之中),而不受浏览器大小的影响,该怎么做呢。

解决方案 »

  1.   

    1.既然每次都小2个像素,那就每次都加2个像素好了-_-
    玩笑。其实我没看明白你到底想要什么坐标,DIV的绝对坐标吗?
    2.要不大的用相对或者绝对定位,重新设计一个计算方法,要不就订阅window.onresize事件,调整窗口的时候重新计算位置。我比较倾向前面一种。
      

  2.   

    to:ZhangYaoxing
    1.求的就是DIV的绝对坐标,呵呵,我现在暂时就是+2进行定位,不过这是权宜之策,没搞明白问啥出现这个原因呢
    2 要是实现拖动的话,用相对定位就没办法做了吧?用绝对定位的话就是我说的那个毛病,思路打不开,有没有新的思路。
      

  3.   

    这个要看浏览器的,在IE上的确存在LZ说的问题
      

  4.   

    小的放大的里面一样可以拖动啊,overflow不要隐藏就得了。
      

  5.   

    我在大div内拖动没问题,但是一旦拖出大div的话,发现鼠标和层的位置数值虽然没有变化,但是显示出来的位置却偏离很多,怎么回事。