offset是这样的,在IE的解析不一样。区分一下浏览器,如果是IE,就var div = document.getElementById("yourdiv");
var top = div.offsetTop;
var parent = div.parentNode;
while(parentNode!=null&&parent!=document.body){
  top += (parentNode.offsetTop!=null)?parentNode.offsetTop:0;
  parent = parent.parentNode;
}