The following should be able to get the height without showing the div or moving content around while getting it. (Aka: setting the visibility to hidden won't visually do anything.)
You could probably make the function more concise, but I don't feel like making a test page to do so.
Code:
function getHeight(el) {
var s = el.style;
var v = s.visibility;
var p = s.position;
var d = s.display;
s.visibility = "hidden";
s.position = "absolute";
s.display = "block";
var h = (parseInt(s.height)>0)? s.height: el.height;
s.display = d;
s.position = p;
s.visibility = v;
return h;
}
getHeight(document.getElementById("MrTiddles"));
Bookmarks