In IE,  `document.documentElement.getBoundingClientRect().top`  always returns 0.
In other browsers, this is equal to minus pageYOffset.

if target element is html#top, can't scroll back to top in IE.

the reason to use getBoundingClientRect is
just pulse element.offsetTop is not enough to get element position. element.clientTop is needed to be taken into account. it's complexed ... this article might help
http://www.kirupa.com/html5/get_element_position_using_javascript.htm