Bootstrap: Scrollspy _getScrollTop() uses Window.scrollY which is not supported in IE

Created on 8 Jul 2016  路  3Comments  路  Source: twbs/bootstrap

Current code: https://github.com/twbs/bootstrap/blob/v4-dev/js/src/scrollspy.js

_getScrollTop() {
  return this._scrollElement === window ?
      this._scrollElement.scrollY : this._scrollElement.scrollTop
}

MDN says the Window.scrollY property is not supported in IE. I was able to confirm this in IE (11.0.9600.18282) on Windows 7. https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY

One solution is to call jQuery.scrollTop() if scrollY is undefined. This works in IE on Windows 7. https://api.jquery.com/scrollTop/

_getScrollTop() {
  return this._scrollElement === window ?
      this._scrollElement.scrollY || $(this._scrollElement).scrollTop() : this._scrollElement.scrollTop
}
has-pr js v4

Most helpful comment

Hi,

I can confirm that $(this._scrollElement).scrollTop() would work.

This issue was driving me crazy, as it worked on the bootstrap demo page (http://v4-alpha.getbootstrap.com/components/scrollspy/) but not on my project.

In the demo the scrollspy is attached to a div instead to the body, so window.scrollY is not used here, as the _scrollElement != window.

It would be great if one of the posted fixes could be implemented.

KInd regards
Andreas

All 3 comments

Or we could try pageYOffset as mentioned on that MDN article.

I can take this task on. Can this be assigned to me?

Should I just create a PR?

Hi,

I can confirm that $(this._scrollElement).scrollTop() would work.

This issue was driving me crazy, as it worked on the bootstrap demo page (http://v4-alpha.getbootstrap.com/components/scrollspy/) but not on my project.

In the demo the scrollspy is attached to a div instead to the body, so window.scrollY is not used here, as the _scrollElement != window.

It would be great if one of the posted fixes could be implemented.

KInd regards
Andreas

Was this page helpful?
0 / 5 - 0 ratings

Related issues

iklementiev picture iklementiev  路  3Comments

IamManchanda picture IamManchanda  路  3Comments

alvarotrigo picture alvarotrigo  路  3Comments

ghost picture ghost  路  3Comments

tiendq picture tiendq  路  3Comments