This is from some other site, which I forgot the actually, but, full credit to whom it belongs, not me. Here it is:
function f_clientWidth()
{
return f_filterResults(
window.innerWidth ? window.innerWidth : 0,
document.documentElement ? document.documentElement.clientWidth : 0,
document.body ? document.body.clientWidth : 0
);
}
function f_clientHeight()
{
return f_filterResults
(
window.innerHeight ? window.innerHeight : 0,
document.documentElement ? document.documentElement.clientHeight : 0,
document.body ? document.body.clientHeight : 0
);
}
function f_scrollLeft()
{
return f_filterResults
(
window.pageXOffset ? window.pageXOffset : 0,
document.documentElement ? document.documentElement.scrollLeft : 0,
document.body ? document.body.scrollLeft : 0
);
}
function f_scrollTop()
{
return f_filterResults
(
window.pageYOffset ? window.pageYOffset : 0,
document.documentElement ? document.documentElement.scrollTop : 0,
document.body ? document.body.scrollTop : 0
);
}
function f_filterResults(n_win, n_docel, n_body)
{
var n_result = n_win ? n_win : 0;
if(n_docel && (!n_result || (n_result > n_docel)))
{
n_result = n_docel;
}
return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}
Usage is simple:
For width, call: f_clientWidth(), and so on...