By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
432,510 Members | 1,821 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 432,510 IT Pros & Developers. It's quick & easy.

Alternative "scrollIntoView"

P: n/a
Hi friends,

I found a problem while "scrolling into view" and to overcome this I
made a function to simulate javascript's function. I would like to
share it and here it is:

function alternativeScrollIntoView(parentDiv,elementIntoDiv )
{
var principal =parentDiv;
principal.scrollTop = 0;
var rects = principal.getClientRects()[0];
var topFinal = rects.top;
var bottomFinal = rects.bottom;
var bottomActual = elementIntoDiv.getClientRects()[0].bottom;
if (bottomActual == 0)
{
return;
}
while(bottomActual>bottomFinal||bottomActual<topFi nal)
{
var direction="down";
if(bottomActual<topFinal) direction="up";
principal.doScroll(direction);
bottomActual=elementIntoDiv.getClientRects()[0].bottom;
}
}

It worked in my enviroment, i hope it could be useful for you too.

Xevi.

PS: It was done for IE. I didn't test it in other enviroments.

Dec 30 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
xe************@gmail.com wrote:
Hi friends,

I found a problem while "scrolling into view" and to overcome this I
made a function to simulate javascript's function. I would like to
share it and here it is:


What version of IE supports getClientRects() and doScroll() but not
scrollIntoView()? Doesn't scrollIntoView() go back to IE 4 and the
other two to IE 5?
[...]
--
Rob
Dec 30 '05 #2

P: n/a
All of these functions worked on IE5.5 but the result was not always
the expected. Sometimes the element didn't fit into the view. That's
why we made this function to overcome this.

Dec 30 '05 #3

P: n/a
xe************@gmail.com wrote:
All of these functions worked on IE5.5 but the result was not always
the expected. Sometimes the element didn't fit into the view. That's
why we made this function to overcome this.


A more cross-browser function could use scrollIntoView first, then
adjust the position using your function if the features are supported
(of course scrollIntoView should be feature tested too).

That may also provide some extra speed/efficiency on IE where the
element needs to scroll a long way.
--
Rob
Dec 30 '05 #4

P: n/a
You're right, I agree that this is the best option. Better use first
what the enviroment provides and if necessary use the function I made.

Thanks a lot.

Dec 30 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.