What?
The
overflow property cannot be set to a value of "fixed".
Did you mean to suggest setting the
position property to "fixed"?
I tried this (setting the position property to fixed) and it seemed fixed the "jerk" effect (in IE8) but it's causing other problems: it moves the element to the left side of the screen over top of the rest of the content which is particularly bad in my page.
I changed the position property to "relative" instead and this "sort of" fixes the problem:
In IE8: the scroll bar and content still "jerks".
In IE7: the scroll bar and content still "jerks".
In FireFox3: the content blinks (disappears then reappears) when the position property is set to relative; the scroll bar still "jerks" but the content does not.
In FireFox2: the process is even more apparent because it takes longer to happen: the content is set to 0, both scroll bars appear and are enabled (even though the vertical one is not needed), the content is moved to the new position and the vertical scroll bar is disabled. The whole thing is about a second or two and it really isn't nice (I thought it was broken at first).
Chrome: works fine.
Safari: works fine.
[edit]
I changed the implementation so that the scrollable <div> always has a relative position by default. I am no longer setting this property using JavaScript...
This seems to have fixed the slow load time in FireFox 2 (but the scroll bars still appear and "jerk"... however the content does not "jerk") and has gotten rid of the blink problem in FireFox 3 but the horizontal scroll bar still jerks.
[/edit]
This solution is not quite up to my liking. I'm going to continue to look for a better one since it doesn't solve the problem in IE... but it was a good suggestion. Thanks a lot.
-Frinny