object.getBoundingClientRect().top/left/bottom/right可以获得元素相对于当前窗口的上下左右位置。
测试代码:
/*
FF:document.documentElement.scrollTop
Chrome:
document.body.scrollTop
元素#test2距离页面顶部的值等于#test2相对于当前窗口顶部的距离+当前页面滚动的高度.*/
var b = div.getBoundingClientRect().top+ (document.documentElement.scrollTop || document.body.scrollTop );var div = document.getElementById('test2');
console.log(b);
var c = $('#test2').offset().top;
console.log(c);
测试得到b和c的值一样。