Skip to content

Instantly share code, notes, and snippets.

@Hyvi
Created December 8, 2011 03:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hyvi/1445943 to your computer and use it in GitHub Desktop.
Save Hyvi/1445943 to your computer and use it in GitHub Desktop.
Getting window size and scroll bars position in JavaScript/DHTML
/**
* Getting window size and scroll bars position in JavaScript/DHTML
* http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html
*/
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;
}
/**
*
*/
function scrollTR()
{
var pos = 0 ;
var _TRoll = function()
{
if(window.pageYOffset && window.pageYOffset == 200 ) return ;
if(window.document.documentElement && document.documentElement.scrollTop == 200 ) return ;
if( window.document.body && window.document.body.scrollTop == 200 ) return ;
pos += 10;
window.scrollTo(0,pos);
if(pos == 200 )
{
return ;
} else
{
setTimeout(_TRoll,200);
}
}
return _TRoll;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment