Reputation: 2011
I'm confused about scrollTop()
.
jQuery docs say it should be displaying a number that represents the scrollTop offset for a given element, but as it does in my own script, on their demo it returns "0".
Setting the scrollTop manually works great, as does using the $(window).scrollTop()
command.
Does scrollTop()
ONLY return values associated with elements that themselves contain scrollbars (such as an element with a CSS property of overflow:scroll
)?
Upvotes: 13
Views: 16691
Reputation: 38860
It only follows that elements with scrollbars in positions other than the top would have a scrollTop of > 0. If you have an element without scrollbars then one would expect that their scrollTop position IS 0 as they have nowhere to scroll to.
I'm not exactly sure what the problem is.
EDIT: Just in case that it is not explained properly in the jQuery docs:
scrollTop()
=> position of scrollbar for element (window/div/anything scrollable)
$("#element").offset().top
=> position of element relative to page
$("#element").offset().top - $(window).scrollTop()
=> position of element relative to scrolled area.
Upvotes: 26