472,117 Members | 2,789 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,117 software developers and data experts.

Is it possible to get document size?

Is it possible to get the actual document size? Not the window size, but
the actual rendered document size, which in my case is bigger than the
window.

I am trying to set up a form entry system where the user scrolls by the
UP and DOWN keys. The idea is to keep as much context on the screen.

Say the form has 15 lines, and 7 are displayed. The user starts on line
1, at the top of the screen. The text on the screen stays fixed, until
the user gets to the center of the page (line 4) and then scrolls one
line at a time to always keep the current line centered, until the user
gets to line 11, at which point the last 7 lines are displayed, and the
screen stops scrolling...

Does that make any sense? Basically, since the user probably wants to
refer to the lines that are both above and below the current line, I
want to keep the current line centered as much as possible....

So I am thinking of retrieving the size of the entire document, then the
size of the display window, and then calculating the percentage of the
document that is displayed, and scrolling a certain percentage with each
line....

Any suggestions?

--Yan
Apr 18 '06 #1
4 11623
Captain Dondo <ya*@NsOeSiPnAeMr.com> writes:
Is it possible to get the actual document size? Not the window size,
but the actual rendered document size, which in my case is bigger than
the window.


Not consistently, but most modern browsers accept:
document.documentElement.offsetWidth
and
document.documentElement.offsetHeight
(You should be in standards mode to guarantee that the documentElement
exists, otherwise you might get the result from document.body).

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Apr 18 '06 #2
Lasse Reichstein Nielsen wrote:
Captain Dondo <ya*@NsOeSiPnAeMr.com> writes:

Is it possible to get the actual document size? Not the window size,
but the actual rendered document size, which in my case is bigger than
the window.

Not consistently, but most modern browsers accept:
document.documentElement.offsetWidth
and
document.documentElement.offsetHeight
(You should be in standards mode to guarantee that the documentElement
exists, otherwise you might get the result from document.body).

/L

Hah! Googling on documentElement found this:

http://www.quirksmode.org/js/doctypes.html

For posterity....
Apr 18 '06 #3
Lasse Reichstein Nielsen wrote:
Captain Dondo <ya*@NsOeSiPnAeMr.com> writes:
Is it possible to get the actual document size? Not the window size,
but the actual rendered document size, which in my case is bigger than
the window.


Not consistently, but most modern browsers accept:
document.documentElement.offsetWidth
and
document.documentElement.offsetHeight
(You should be in standards mode to guarantee that the documentElement
exists, otherwise you might get the result from document.body).

/L


That does not do it. Try creating a very wide element that overflows the
window. In that case document.documentElement.offsetWidth returns the
window width.

I scrabbled around this for a while because I wanted to make a "dialog
box" (which was in fact an absolutely positioned div) "modal". So I
created a 0% opaque, full sized div to sit over the document, but under
the "dialog box" (I had to use opacity to allow the document to show
through because if I set the background-color to transparent, IE didn't
acknowledge that it was there, and allowed user interaction with the
underlying document!!)

So this blocker had to be full size.

I don't have the code to hand, it's at work. I'll post it on Monday.

ExG
Apr 22 '06 #4
Lasse Reichstein Nielsen wrote:
Captain Dondo <ya*@NsOeSiPnAeMr.com> writes:
Is it possible to get the actual document size? Not the window size,
but the actual rendered document size, which in my case is bigger than
the window.


Not consistently, but most modern browsers accept:
document.documentElement.offsetWidth
and
document.documentElement.offsetHeight
(You should be in standards mode to guarantee that the documentElement
exists, otherwise you might get the result from document.body).

/L


I found my code. It was the width it was having trouble with. If there
was a very wide element in the document, then
document.documentElement.offsetWidth did not work - just returned the
viewport width. I used

fcl.util.getDocumentWidth = function()
{
if (document.body.scrollWidth)
return document.body.scrollWidth;
var w = document.documentElement.offsetWidth;
if (window.scrollMaxX)
w += window.scrollMaxX;
return w;
};

fcl.util.getDocumentHeight = function()
{
if (document.body.scrollHeight)
return document.body.scrollHeight;
return document.documentElement.offsetHeight;
};
Apr 29 '06 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

13 posts views Thread by Paul | last post: by
4 posts views Thread by dsimmons | last post: by
1 post views Thread by ara.t.howard | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.